k8s: Render container names from label "io.kubernetes.container.name"

This commit is contained in:
Alfonso Acosta
2016-01-12 18:20:11 +00:00
parent 398e676c2c
commit bd5cfd9570

View File

@@ -28,7 +28,8 @@ const (
processesKey = "processes"
servicesKey = "services"
AmazonECSContainerNameLabel = "com.amazonaws.ecs.container-name"
AmazonECSContainerNameLabel = "com.amazonaws.ecs.container-name"
KubernetesContainerNameLabel = "io.kubernetes.container.name"
)
// MapFunc is anything which can take an arbitrary RenderableNode and
@@ -154,6 +155,14 @@ func GetRenderableContainerName(nmd report.Node) (string, bool) {
return labelValue, true
}
// Kubernetes also mangles its Docker container names and provides a
// label with the original container name. However, note that this label
// is only provided by Kubernetes versions >= 1.2 (see
// https://github.com/kubernetes/kubernetes/pull/17234/ )
if labelValue, ok := nmd.Metadata[docker.LabelPrefix+KubernetesContainerNameLabel]; ok {
return labelValue, true
}
name, ok := nmd.Metadata[docker.ContainerName]
return name, ok
}