Skip to content

Commit

Permalink
Add semantic conventions for all Kubernetes objects
Browse files Browse the repository at this point in the history
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
  • Loading branch information
bogdandrutu committed Jul 23, 2020
1 parent 619b588 commit d134709
Showing 1 changed file with 121 additions and 5 deletions.
126 changes: 121 additions & 5 deletions specification/resource/semantic_conventions/k8s.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,128 @@
# Kubernetes

**type:** `k8s`
Useful resources to understand Kubernetes objects and metadata:

**Description:** A Kubernetes resource.
* [Namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)
* [Names and UIDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/).
* [Pods](https://kubernetes.io/docs/concepts/workloads/pods/)
* [Controllers](https://kubernetes.io/docs/concepts/workloads/controllers/)

## Cluster

**type:** `k8s.cluster`

**Description:** A Kubernetes Cluster.

| Attribute | Description | Example |
|---|---|---|
| k8s.cluster.name | The name of the cluster. | `opentelemetry-cluster` |

## Namespace

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

**type:** `k8s.namespace`

**Description:** A Kubernetes Namespace.

| Attribute | Description | Example |
|---|---|---|
| k8s.cluster.name | The name of the cluster that the pod is running in. | `opentelemetry-cluster` |
| k8s.namespace.name | The name of the namespace that the pod is running in. | `default` |
| k8s.pod.name | The name of the pod. | `opentelemetry-pod-autoconf` |
| k8s.deployment.name | The name of the deployment. | `opentelemetry` |

## Pod

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

**type:** `k8s.pod`

**Description:** A Kubernetes Pod resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.pod.uid | The uid of the Pod. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.pod.name | The name of the Pod. | `opentelemetry-pod-autoconf` |

## ReplicaSet

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

**type:** `k8s.replica_set`

**Description:** A Kubernetes ReplicaSet resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.replica_set.uid | The uid of the ReplicaSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.replica_set.name | The name of the ReplicaSet. | `opentelemetry` |

## Deployment

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 resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.deployment.uid | The uid of the Deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.deployment.name | The name of the Deployment. | `opentelemetry` |

## StatefulSet

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

**type:** `k8s.stateful_set`

**Description:** A Kubernetes Deployment resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.stateful_set.uid | The uid of the deployment. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.stateful_set.name | The name of the deployment. | `opentelemetry` |

## DaemonSet

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

**type:** `k8s.daemon_set`

**Description:** A Kubernetes Deployment resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.daemon_set.uid | The uid of the DaemonSet. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.daemon_set.name | The name of the DaemonSet. | `opentelemetry` |

## Job

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

**type:** `k8s.job`

**Description:** A Kubernetes Deployment resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.job.uid | The uid of the Job. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.job.name | The name of the Job. | `opentelemetry` |

## CronJob

A CronJob creates Jobs on a repeating schedule.

**type:** `k8s.cron_job`

**Description:** A Kubernetes Deployment resource.

| Attribute | Description | Example |
|---|---|---|
| k8s.cron_job.uid | The uid of the CronJob. | `275ecb36-5aa8-4c2a-9c47-d8bb681b9aff` |
| k8s.cron_job.name | The name of the CronJob. | `opentelemetry` |

0 comments on commit d134709

Please sign in to comment.