Kubernetes Downward API Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 14: Line 14:
This is how the pod name and namespace can be projected to be available to containers running inside the pod.  
This is how the pod name and namespace can be projected to be available to containers running inside the pod.  


Declare a "downwardAPI" volume and mount it in the pod:
Declare a "downwardAPI" volume, conventionally named "podinfo" and mount it in the pod:


<syntaxhighlight lang='yaml'>
<syntaxhighlight lang='yaml'>
Line 25: Line 25:
   - name: loop
   - name: loop
     image: docker.io/ovidiufeodorov/loop:latest
     image: docker.io/ovidiufeodorov/loop:latest
    
    volumeMounts:
      - name: podinfo
        mountPath: /etc/podinfo
   volumes:
  - name: podinfo
    downwardAPI:
      items:
        - path: "metadata/name"
          fieldRef:
            fieldPath: metadata.name
</syntaxhighlight>


</syntaxhighlight>
Note that individual downwardAPI items can declare a hierarchical path - the directories will be created automatically.

Revision as of 23:28, 18 June 2020

External

Internal

Overview

Kubernetes is exposing pod information to the containers running inside the pod through files, which are projected in the container by a mechanism known as the Downward API.

Example

This is how the pod name and namespace can be projected to be available to containers running inside the pod.

Declare a "downwardAPI" volume, conventionally named "podinfo" and mount it in the pod:

apiVersion: v1
kind: Pod
metadata:
  name: loop
spec:
  containers:
  - name: loop
    image: docker.io/ovidiufeodorov/loop:latest
    volumeMounts:
      - name: podinfo
        mountPath: /etc/podinfo
  volumes:
  - name: podinfo
    downwardAPI:
      items:
        - path: "metadata/name"
          fieldRef:
            fieldPath: metadata.name

Note that individual downwardAPI items can declare a hierarchical path - the directories will be created automatically.