How do I pass the name of a kubernetes deployment/replica set to the container?

3/8/2021

I have had some success getting the name of the pod into my container for logging purposes,

          env:
            - name: ID_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name

however I would like to extend that by logging the deployment and replica sets. Is there a way to pass these values into the pod?

Based on some observation, the pod name appears to just be an extension of the set name, which is an extension of the deployment name. Is there a way to parse that info from the name?

-- deef0000dragon1
environment-variables
kubernetes

2 Answers

3/10/2021

There is a way, but you would have to use a kubernetes client inside your pod, and query the apiserver to list the deployment or replicaset having the same labels as the pod in which the code runs, via label-selector.

-- DevLounge
Source: StackOverflow

3/8/2021

There's no way to get the ownerReference inside the Pod using the Downward APIs: this is the list of the unique items supported.

https://github.com/kubernetes/kubernetes/blob/cea1d4e20b4a7886d8ff65f34c6d4f95efcb4742/pkg/apis/core/pods/helpers.go#L61-L100

-- prometherion
Source: StackOverflow