-
Notifications
You must be signed in to change notification settings - Fork 182
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into pod-annotations
- Loading branch information
Showing
10 changed files
with
277 additions
and
175 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Kubernetes | ||
|
||
## Kubernetes Resource Attributes | ||
|
||
<!-- semconv registry.k8s --> | ||
| Attribute | Type | Description | Examples | Requirement Level | | ||
|---|---|---|---|---| | ||
| `k8s.cluster.name` | string | The name of the cluster. | `opentelemetry-cluster` | Recommended | | ||
| `k8s.cluster.uid` | string | A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. [1] | `218fc5a9-a5f1-4b54-aa05-46717d0ab26d` | Recommended | | ||
| `k8s.container.name` | string | The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (`container.name`). | `redis` | Recommended | | ||
| `k8s.container.restart_count` | int | Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. | `0`; `2` | Recommended | | ||
| `k8s.cronjob.name` | string | The name of the CronJob. | `opentelemetry` | Recommended | | ||
| `k8s.cronjob.uid` | string | The UID of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
| `k8s.daemonset.name` | string | The name of the DaemonSet. | `opentelemetry` | Recommended | | ||
| `k8s.daemonset.uid` | string | The UID of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
| `k8s.deployment.name` | string | The name of the Deployment. | `opentelemetry` | Recommended | | ||
| `k8s.deployment.uid` | string | The UID of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
| `k8s.job.name` | string | The name of the Job. | `opentelemetry` | Recommended | | ||
| `k8s.job.uid` | string | The UID of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
| `k8s.namespace.name` | string | The name of the namespace that the pod is running in. | `default` | Recommended | | ||
| `k8s.node.name` | string | The name of the Node. | `node-1` | Recommended | | ||
| `k8s.node.uid` | string | The UID of the Node. | `1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2` | Recommended | | ||
| `k8s.pod.name` | string | The name of the Pod. | `opentelemetry-pod-autoconf` | Recommended | | ||
| `k8s.pod.uid` | string | The UID of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
| `k8s.replicaset.name` | string | The name of the ReplicaSet. | `opentelemetry` | Recommended | | ||
| `k8s.replicaset.uid` | string | The UID of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
| `k8s.statefulset.name` | string | The name of the StatefulSet. | `opentelemetry` | Recommended | | ||
| `k8s.statefulset.uid` | string | The UID of the StatefulSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` | Recommended | | ||
|
||
**[1]:** K8s doesn't have support for obtaining a cluster ID. If this is ever | ||
added, we will recommend collecting the `k8s.cluster.uid` through the | ||
official APIs. In the meantime, we are able to use the `uid` of the | ||
`kube-system` namespace as a proxy for cluster ID. Read on for the | ||
rationale. | ||
|
||
Every object created in a K8s cluster is assigned a distinct UID. The | ||
`kube-system` namespace is used by Kubernetes itself and will exist | ||
for the lifetime of the cluster. Using the `uid` of the `kube-system` | ||
namespace is a reasonable proxy for the K8s ClusterID as it will only | ||
change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are | ||
UUIDs as standardized by | ||
[ISO/IEC 9834-8 and ITU-T X.667](https://www.itu.int/ITU-T/studygroups/com17/oid.html). | ||
Which states: | ||
|
||
> If generated according to one of the mechanisms defined in Rec. | ||
ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be | ||
different from all other UUIDs generated before 3603 A.D., or is | ||
extremely likely to be different (depending on the mechanism chosen). | ||
|
||
Therefore, UIDs between clusters should be extremely unlikely to | ||
conflict. | ||
<!-- endsemconv --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.