Status: Experimental

Useful resources to understand Kubernetes objects and metadata:

The “name” of a Kubernetes object is unique for that type of object within a “namespace” and only at a specific moment of time (names can be reused over time). The “uid” is unique across your whole cluster, and very likely across time. Because of this it is recommended to always set the UID for every Kubernetes object, but “name” is usually more user friendly so can be also set.


type: k8s.cluster

Description: A Kubernetes Cluster.

k8s.cluster.namestringThe name of the cluster.opentelemetry-clusterNo


type: k8s.node

Description: A Kubernetes Node.

k8s.node.namestringThe name of the Node.node-1No
k8s.node.uidstringThe UID of the Node.1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2No


Namespaces provide a scope for names. Names of objects need to be unique within a namespace, but not across namespaces.

type: k8s.namespace

Description: A Kubernetes Namespace.

k8s.namespace.namestringThe name of the namespace that the pod is running in.defaultNo


The smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster.

type: k8s.pod

Description: A Kubernetes Pod object.

k8s.pod.uidstringThe UID of the Pod.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.pod.namestringThe name of the Pod.opentelemetry-pod-autoconfNo


A container specification in a Pod template. This type is intended to be used to capture information such as name of a container in a Pod template which is different from the name of the running container.

Note: This type is different from container, which corresponds to a running container.

type: k8s.container

Description: A container in a PodTemplate.

k8s.container.namestringThe name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).redisNo
k8s.container.restart_countintNumber of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec.0; 2No


A ReplicaSet’s purpose is to maintain a stable set of replica Pods running at any given time.

type: k8s.replicaset

Description: A Kubernetes ReplicaSet object.

k8s.replicaset.uidstringThe UID of the ReplicaSet.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.replicaset.namestringThe name of the ReplicaSet.opentelemetryNo


An API object that manages a replicated application, typically by running Pods with no local state. Each replica is represented by a Pod, and the Pods are distributed among the nodes of a cluster.

type: k8s.deployment

Description: A Kubernetes Deployment object.

k8s.deployment.uidstringThe UID of the Deployment.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.deployment.namestringThe name of the Deployment.opentelemetryNo


Manages the deployment and scaling of a set of Pods, and provides guarantees about the ordering and uniqueness of these Pods.

type: k8s.statefulset

Description: A Kubernetes StatefulSet object.

k8s.statefulset.uidstringThe UID of the StatefulSet.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.statefulset.namestringThe name of the StatefulSet.opentelemetryNo


A DaemonSet ensures that all (or some) Nodes run a copy of a Pod.

type: k8s.daemonset

Description: A Kubernetes DaemonSet object.

k8s.daemonset.uidstringThe UID of the DaemonSet.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.daemonset.namestringThe name of the DaemonSet.opentelemetryNo


A Job creates one or more Pods and ensures that a specified number of them successfully terminate.

type: k8s.job

Description: A Kubernetes Job object.

k8s.job.uidstringThe UID of the Job.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.job.namestringThe name of the Job.opentelemetryNo


A CronJob creates Jobs on a repeating schedule.

type: k8s.cronjob

Description: A Kubernetes CronJob object.

k8s.cronjob.uidstringThe UID of the CronJob.275ecb36-5aa8-4c2a-9c47-d8bb681b9affNo
k8s.cronjob.namestringThe name of the CronJob.opentelemetryNo