Skip to content

DownWardApi

downwardapi

yaml
apiVersion: v1
kind: Pod
metadata:
  name: downwardapi-volume-pod
spec:
  containers:
    - name: test-container
      image: nginx
      env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: CPU_Request
          valueFrom:
            resourceFieldRef:
              resource: requests.cpu
        - name: CPU_Limit
          valueFrom:
            resourceFieldRef:
              resource: limits.cpu
        - name: MEM_Request
          valueFrom:
            resourceFieldRef:
              resource: requests.memory
        - name: MEM_Limit
          valueFrom:
            resourceFieldRef:
              resource: limits.memory
  restartPolicy: Never

downward-api-volume

yaml
apiVersion: v1
kind: Pod
metadata:
  name: downwardapi-volume-pod
spec:
  containers:
    - name: test-container
      image: nginx
      resources:
        requests:
          cpu: "1"
          memory: "256Mi"
        limits:
          cpu: "2"
          memory: "512Mi"
      volumeMounts:
        - name: downwardapi-volume
          mountPath: /etc/podinfo
  volumes:
    - name: downwardapi-volume
      downwardAPI:
        items:
          - path: "annotations"
            fieldRef:
              fieldPath: metadata.annotations
          - path: "labels"
            fieldRef:
              fieldPath: metadata.labels
          - path: "name"
            fieldRef:
              fieldPath: metadata.name
          - path: "namespace"
            fieldRef:
              fieldPath: metadata.namespace
          - path: "uid"
            fieldRef:
              fieldPath: metadata.uid
          - path: "cpu_request"
            resourceFieldRef:
              containerName: test-container
              resource: requests.cpu
          - path: "cpu_limit"
            resourceFieldRef:
              containerName: test-container
              resource: limits.cpu
          - path: "memory_request"
            resourceFieldRef:
              containerName: test-container
              resource: requests.memory
          - path: "memory_limit"
            resourceFieldRef:
              containerName: test-container
              resource: limits.memory