From 1511dbf0b5c069654c5a2a95319cabb977fba20e Mon Sep 17 00:00:00 2001 From: Rohit Jnagal Date: Mon, 4 May 2015 16:54:42 +0000 Subject: [PATCH] Expose pod name as a label on containers. Full pod name is exposed under key 'kubernetes.io/pod'. It helps in introspection by looking at all containers in a pod through docker ps -a -f label=kubernetes.io/pod=podXXX We also plan to visualize this in cAdvisor. --- pkg/kubelet/dockertools/manager.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/kubelet/dockertools/manager.go b/pkg/kubelet/dockertools/manager.go index c93e138d127..e5ebd6d59f6 100644 --- a/pkg/kubelet/dockertools/manager.go +++ b/pkg/kubelet/dockertools/manager.go @@ -504,6 +504,10 @@ func (dm *DockerManager) runContainer(pod *api.Pod, container *api.Container, op if len(containerHostname) > hostnameMaxLen { containerHostname = containerHostname[:hostnameMaxLen] } + namespacedName := types.NamespacedName{pod.Namespace, pod.Name} + labels := map[string]string{ + "io.kubernetes.pod.name": namespacedName.String(), + } dockerOpts := docker.CreateContainerOptions{ Name: BuildDockerName(dockerName, container), Config: &docker.Config{ @@ -514,6 +518,7 @@ func (dm *DockerManager) runContainer(pod *api.Pod, container *api.Container, op Memory: container.Resources.Limits.Memory().Value(), CPUShares: milliCPUToShares(container.Resources.Limits.Cpu().MilliValue()), WorkingDir: container.WorkingDir, + Labels: labels, }, }