Kubernetes

この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/resource/k8s/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

Status: Development

Kubernetesのオブジェクトとメタデータを理解するのに役立つ資料:

Kubernetesオブジェクトの「名前」は、そのオブジェクトの型において、ある特定の時点でのみ「namespace」内で一意です(名前は時間が経つと再利用される場合があります)。「UID」はクラスター全体で一意であり、かつ時間軸を通してもほぼ確実に一意です。このため、すべてのKubernetesオブジェクトについて常にUIDを設定することが推奨されますが、「名前」は通常より人間にとって分かりやすいため、これも併せて設定できます。

Cluster

Status: Development

type: k8s.cluster

Description: Kubernetesクラスター。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.cluster.uidStableRecommendedstringクラスターの疑似ID。kube-system 名前空間のUIDに設定されます。[1]218fc5a9-a5f1-4b54-aa05-46717d0ab26d
Descriptionk8s.cluster.nameStableRecommendedstringクラスターの名前。opentelemetry-cluster

[1] k8s.cluster.uid: K8sにはクラスターIDを取得する手段がありません。将来この手段が 追加された場合は、公式のAPI経由で k8s.cluster.uid を収集することを推奨する予定です。 それまでの間は、kube-system 名前空間の uid をクラスターIDの代替として使用できます。 以下に、その理由を説明します。

K8sクラスター内で作成されるすべてのオブジェクトには、明確に区別されたUIDが割り当てられます。 kube-system 名前空間はKubernetes自身が使用するものであり、クラスターの生存期間にわたって 存在します。kube-system 名前空間の uid を使用することは、クラスターが再構築されない限り 変化しないため、K8sのクラスターIDとして妥当な代替と言えます。さらに、Kubernetesの UIDは、ISO/IEC 9834-8およびITU-T X.667 によって標準化されたUUIDです。この規格には次のように記されています。

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

(Rec. ITU-T X.667 | ISO/IEC 9834-8で定義された機構のいずれかに従って生成された場合、 UUIDは西暦3603年より前に生成されたすべての他のUUIDと異なることが保証される、 または(選択した機構によっては)異なる可能性が極めて高い。)

したがって、クラスター間でUIDが衝突する可能性は極めて低いといえます。

Node

Status: Development

type: k8s.node

Description: Kubernetes Nodeオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.node.uidStableRecommendedstringNodeのUID。1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2
Descriptionk8s.node.nameStableRecommendedstringNodeの名前。node-1
Descriptionk8s.node.annotation.<key>StableOpt-InstringNodeに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]0; ``
Descriptionk8s.node.label.<key>StableOpt-InstringNodeに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]arm64; ``

[1] k8s.node.annotation.<key>: 例:

  • 0 を持つアノテーション node.alpha.kubernetes.io/ttl は、値 "0" を持つ k8s.node.annotation.node.alpha.kubernetes.io/ttl 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.node.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.node.label.<key>: 例:

  • arm64 を持つラベル kubernetes.io/arch は、値 "arm64" を持つ k8s.node.label.kubernetes.io/arch 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル data は、値 "" を持つ k8s.node.label.data 属性として記録すべきです(SHOULD)。

Namespace

Namespaceは名前のスコープを提供します。オブジェクトの名前は名前空間内で一意である必要がありますが、名前空間をまたいで一意である必要はありません。

Status: Development

type: k8s.namespace

Description: Kubernetes Namespace。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.namespace.nameStableRecommendedstringPodが実行されている名前空間の名前。default
Descriptionk8s.namespace.annotation.<key>StableOpt-InstringNamespaceに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]0; ``
Descriptionk8s.namespace.label.<key>StableOpt-InstringNamespaceに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]default; ``

[1] k8s.namespace.annotation.<key>: 例:

  • 0 を持つアノテーション ttl は、値 "0" を持つ k8s.namespace.annotation.ttl 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.namespace.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.namespace.label.<key>: 例:

  • default を持つラベル kubernetes.io/metadata.name は、値 "default" を持つ k8s.namespace.label.kubernetes.io/metadata.name 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル data は、値 "" を持つ k8s.namespace.label.data 属性として記録すべきです(SHOULD)。

Pod

最も小さく単純なKubernetesオブジェクトです。Podはクラスター上で実行されるコンテナの集合を表します。

Status: Development

type: k8s.pod

Description: Kubernetes Podオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.pod.uidStableRecommendedstringPodのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.pod.nameStableRecommendedstringPodの名前。opentelemetry-pod-autoconf
Descriptionk8s.pod.annotation.<key>StableOpt-InstringPodに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値。[1]true; x64; ``
Descriptionk8s.pod.hostnameStableOpt-InstringPodのホスト名を指定します。[2]collector-gateway
Descriptionk8s.pod.ipStableOpt-InstringPodに割り当てられたIPアドレス。[3]172.18.0.2
Descriptionk8s.pod.label.<key>StableOpt-InstringPodに置かれたラベル。<key> はラベル名で、値はラベルの値。[4]my-app; x64; ``
Descriptionk8s.pod.start_timeStableOpt-InstringPodの開始タイムスタンプ。[5]2025-12-04T08:41:03Z

[1] k8s.pod.annotation.<key>: 例:

  • true を持つアノテーション kubernetes.io/enforce-mountable-secrets は、値 "true" を持つ k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets 属性として記録すべきです(SHOULD)。
  • x64 を持つアノテーション mycompany.io/arch は、値 "x64" を持つ k8s.pod.annotation.mycompany.io/arch 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.pod.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.pod.hostname: K8sのPod仕様には、ホスト名を指定するために使えるオプションのhostnameフィールドがあります。 このフィールドについてはK8sのドキュメントを参照してください。

この属性は、K8s PodSpechostname フィールドと対応します。

[3] k8s.pod.ip: この属性は、K8s PodStatuspodIP フィールドと対応します。

[4] k8s.pod.label.<key>: 例:

  • my-app を持つラベル app は、値 "my-app" を持つ k8s.pod.label.app 属性として記録すべきです(SHOULD)。
  • x64 を持つラベル mycompany.io/arch は、値 "x64" を持つ k8s.pod.label.mycompany.io/arch 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル data は、値 "" を持つ k8s.pod.label.data 属性として記録すべきです(SHOULD)。

[5] k8s.pod.start_time: Kubeletがオブジェクトを確認した日時。 これはKubeletがそのPodのコンテナイメージを取得する前の時点です。

この属性は、ISO 8601(RFC 3339互換)形式による、K8s PodStatusstartTime フィールドと対応します。

Container

Podテンプレートにおけるコンテナの仕様です。この型は、実行中のコンテナの名前とは異なる、Podテンプレート内のコンテナの名前などの情報を捉えるために使われることを意図しています。

注記: この型は、実行中のコンテナに対応するcontainerとは異なります。

Status: Development

type: k8s.container

Description: PodTemplate内のコンテナ。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.container.nameStableRecommendedstringPod仕様におけるContainerの名前で、Pod内で一意である必要があります。コンテナランタイムは通常、これとは異なるグローバルに一意な名前(container.name)を使用します。redis
Descriptionk8s.container.restart_countStableRecommendedintコンテナが再起動した回数。この属性は、コンテナ仕様内の特定のコンテナ(実行中か停止中かを問わない)を識別するために使用できます。
Descriptionk8s.container.status.last_terminated_reasonDevelopmentRecommendedstringContainerが最後に終了した理由。Evicted; Error

ReplicaSet

Status: Development

type: k8s.replicaset

Description: Kubernetes ReplicaSetオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.replicaset.uidStableRecommendedstringReplicaSetのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.replicaset.nameStableRecommendedstringReplicaSetの名前。opentelemetry
Descriptionk8s.replicaset.annotation.<key>StableOpt-InstringReplicaSetに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]0; ``
Descriptionk8s.replicaset.label.<key>StableOpt-InstringReplicaSetに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]guestbook; ``

[1] k8s.replicaset.annotation.<key>: 例:

  • 0 を持つアノテーション replicas は、値 "0" を持つ k8s.replicaset.annotation.replicas 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.replicaset.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.replicaset.label.<key>: 例:

  • guestbook を持つラベル app は、値 "guestbook" を持つ k8s.replicaset.label.app 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル injected は、値 "" を持つ k8s.replicaset.label.injected 属性として記録すべきです(SHOULD)。

Deployment

ローカル状態を持たないPodを実行することで、レプリケートされたアプリケーションを管理するAPIオブジェクトです。各レプリカはPodとして表現され、それらのPodはクラスターのノード間に分散配置されます。

Status: Development

type: k8s.deployment

Description: Kubernetes Deploymentオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.deployment.uidStableRecommendedstringDeploymentのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.deployment.nameStableRecommendedstringDeploymentの名前。opentelemetry
Descriptionk8s.deployment.annotation.<key>StableOpt-InstringDeploymentに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]1; ``
Descriptionk8s.deployment.label.<key>StableOpt-InstringDeploymentに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]guestbook; ``

[1] k8s.deployment.annotation.<key>: 例:

  • 1 を持つアノテーション replicas は、値 "1" を持つ k8s.deployment.annotation.replicas 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.deployment.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.deployment.label.<key>: 例:

  • guestbook を持つラベル app は、値 "guestbook" を持つ k8s.deployment.label.app 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル injected は、値 "" を持つ k8s.deployment.label.injected 属性として記録すべきです(SHOULD)。

StatefulSet

Podの集合のデプロイとスケーリングを管理し、それらのPodの順序と一意性を保証します。

Status: Development

type: k8s.statefulset

Description: Kubernetes StatefulSetオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.statefulset.uidStableRecommendedstringStatefulSetのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.statefulset.nameStableRecommendedstringStatefulSetの名前。opentelemetry
Descriptionk8s.statefulset.annotation.<key>StableOpt-InstringStatefulSetに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]1; ``
Descriptionk8s.statefulset.label.<key>StableOpt-InstringStatefulSetに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]guestbook; ``

[1] k8s.statefulset.annotation.<key>: 例:

  • 1 を持つアノテーション replicas は、値 "1" を持つ k8s.statefulset.annotation.replicas 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.statefulset.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.statefulset.label.<key>: 例:

  • guestbook を持つラベル app は、値 "guestbook" を持つ k8s.statefulset.label.app 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル injected は、値 "" を持つ k8s.statefulset.label.injected 属性として記録すべきです(SHOULD)。

DaemonSet

DaemonSetは、すべて(または一部)のNodeがPodのコピーを実行することを保証します。

Status: Development

type: k8s.daemonset

Description: Kubernetes DaemonSetオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.daemonset.uidStableRecommendedstringDaemonSetのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.daemonset.nameStableRecommendedstringDaemonSetの名前。opentelemetry
Descriptionk8s.daemonset.annotation.<key>StableOpt-InstringDaemonSetに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]1; ``
Descriptionk8s.daemonset.label.<key>StableOpt-InstringDaemonSetに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]guestbook; ``

[1] k8s.daemonset.annotation.<key>: 例:

  • 1 を持つアノテーション replicas は、値 "1" を持つ k8s.daemonset.annotation.replicas 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.daemonset.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.daemonset.label.<key>: 例:

  • guestbook を持つラベル app は、値 "guestbook" を持つ k8s.daemonset.label.app 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル injected は、値 "" を持つ k8s.daemonset.label.injected 属性として記録すべきです(SHOULD)。

Job

Jobは1つ以上のPodを作成し、指定した数のPodが正常に終了することを保証します。

Status: Development

type: k8s.job

Description: Kubernetes Jobオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.job.uidStableRecommendedstringJobのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.job.nameStableRecommendedstringJobの名前。opentelemetry
Descriptionk8s.job.annotation.<key>StableOpt-InstringJobに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]1; ``
Descriptionk8s.job.label.<key>StableOpt-InstringJobに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]ci; ``

[1] k8s.job.annotation.<key>: 例:

  • 1 を持つアノテーション number は、値 "1" を持つ k8s.job.annotation.number 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.job.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.job.label.<key>: 例:

  • ci を持つラベル jobtype は、値 "ci" を持つ k8s.job.label.jobtype 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル automated は、値 "" を持つ k8s.job.label.automated 属性として記録すべきです(SHOULD)。

CronJob

CronJobは、繰り返しスケジュールに従ってJobを作成します。

Status: Development

type: k8s.cronjob

Description: Kubernetes CronJobオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.cronjob.uidStableRecommendedstringCronJobのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.cronjob.nameStableRecommendedstringCronJobの名前。opentelemetry
Descriptionk8s.cronjob.annotation.<key>StableOpt-InstringCronJobに置かれたcronjobアノテーション。<key> はアノテーション名で、値はアノテーションの値。[1]4; ``
Descriptionk8s.cronjob.label.<key>StableOpt-InstringCronJobに置かれたラベル。<key> はラベル名で、値はラベルの値。[2]weekly; ``

[1] k8s.cronjob.annotation.<key>: 例:

  • 4 を持つアノテーション retries は、値 "4" を持つ k8s.cronjob.annotation.retries 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.cronjob.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.cronjob.label.<key>: 例:

  • weekly を持つラベル type は、値 "weekly" を持つ k8s.cronjob.label.type 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル automated は、値 "" を持つ k8s.cronjob.label.automated 属性として記録すべきです(SHOULD)。

ReplicationController

ReplicationControllerは、指定した数のPodレプリカが常に実行されていることを保証します。

Status: Development

type: k8s.replicationcontroller

Description: Kubernetes ReplicationControllerオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.replicationcontroller.uidDevelopmentRecommendedstringreplication controllerのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.replicationcontroller.nameDevelopmentRecommendedstringreplication controllerの名前。opentelemetry

HorizontalPodAutoscaler

HorizontalPodAutoscaler(略称HPA)は、需要に合わせてワークロードを自動的にスケーリングすることを目的として、ワークロードリソース(DeploymentやStatefulSetなど)を自動的に更新します。

Status: Development

type: k8s.hpa

Description: Kubernetes HorizontalPodAutoscalerオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.hpa.uidDevelopmentRecommendedstringhorizontal pod autoscalerのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.hpa.nameDevelopmentRecommendedstringhorizontal pod autoscalerの名前。opentelemetry
Descriptionk8s.hpa.scaletargetref.api_versionDevelopmentRecommendedstringHorizontalPodAutoscalerがスケール対象とするリソースのAPIバージョン。[1]apps/v1; autoscaling/v2
Descriptionk8s.hpa.scaletargetref.kindDevelopmentRecommendedstringHorizontalPodAutoscalerがスケール対象とするリソースの種類(kind)。[2]Deployment; StatefulSet
Descriptionk8s.hpa.scaletargetref.nameDevelopmentRecommendedstringHorizontalPodAutoscalerがスケール対象とするリソースの名前。[3]my-deployment; my-statefulset

[1] k8s.hpa.scaletargetref.api_version: これは、HPA仕様の scaleTargetRef にある apiVersion フィールドに対応します。

[2] k8s.hpa.scaletargetref.kind: これは、HPA仕様の scaleTargetRef にある kind フィールドに対応します。

[3] k8s.hpa.scaletargetref.name: これは、HPA仕様の scaleTargetRef にある name フィールドに対応します。

ResourceQuota

ResourceQuotaは、名前空間ごとの集約リソース消費を制限する制約を提供します。

Status: Development

type: k8s.resourcequota

Description: Kubernetes ResourceQuotaオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.resourcequota.uidDevelopmentRecommendedstringresource quotaのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.resourcequota.nameDevelopmentRecommendedstringresource quotaの名前。opentelemetry

PersistentVolume

PersistentVolume(PV)は、管理者によって準備される、またはStorageClassesを使って動的に準備される、クラスター内のストレージの一片です。

Status: Development

type: k8s.persistentvolume

Description: KubernetesのPersistentVolumeオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.persistentvolume.uidDevelopmentRequiredstringPersistentVolumeのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.persistentvolume.nameDevelopmentRecommendedstringPersistentVolumeの名前。pv-data-01
Descriptionk8s.storageclass.nameDevelopmentRecommendedstringK8sのStorageClassオブジェクトの名前。gold.storageclass.storage.k8s.io
Descriptionk8s.persistentvolume.annotation.<key>DevelopmentOpt-InstringPersistentVolumeに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]kubernetes.io/aws-ebs; ``
Descriptionk8s.persistentvolume.label.<key>DevelopmentOpt-InstringPersistentVolumeに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]ssd; ``
Descriptionk8s.persistentvolume.reclaim_policyDevelopmentOpt-InstringPersistentVolumeの回収ポリシー。[3]Delete; Retain; Recycle

[1] k8s.persistentvolume.annotation.<key>: 例:

  • kubernetes.io/aws-ebs を持つアノテーション pv.kubernetes.io/provisioned-by は、値 "kubernetes.io/aws-ebs" を持つ k8s.persistentvolume.annotation.pv.kubernetes.io/provisioned-by 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.persistentvolume.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.persistentvolume.label.<key>: 例:

  • ssd を持つラベル type は、値 "ssd" を持つ k8s.persistentvolume.label.type 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル data は、値 "" を持つ k8s.persistentvolume.label.data 属性として記録すべきです(SHOULD)。

[3] k8s.persistentvolume.reclaim_policy: この属性は、K8s PersistentVolumeSpecpersistentVolumeReclaimPolicy フィールドと対応します。


k8s.persistentvolume.reclaim_policy には、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
Deleteボリュームは、クレームから解放された時点で削除されます。Development
Recycleボリュームは、クレームから解放された時点でリサイクル(基本的なスクラブ)されます。Development
Retainボリュームは、クレームから解放された時点で保持されます。Development

PersistentVolumeClaim

PersistentVolumeClaim(PVC)は、ユーザーによるストレージの要求です。PodがNodeリソースを消費するのと同様に、PVCはPVリソースを消費するという点で、Podと似ています。

Status: Development

type: k8s.persistentvolumeclaim

Description: KubernetesのPersistentVolumeClaimオブジェクト。

Attributes:

RoleKeyStabilityRequirement LevelValue TypeDescriptionExample Values
Identityk8s.persistentvolumeclaim.uidDevelopmentRequiredstringPersistentVolumeClaimのUID。275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
Descriptionk8s.persistentvolumeclaim.nameDevelopmentRecommendedstringPersistentVolumeClaimの名前。pvc-data-01
Descriptionk8s.storageclass.nameDevelopmentRecommendedstringK8sのStorageClassオブジェクトの名前。gold.storageclass.storage.k8s.io
Descriptionk8s.persistentvolumeclaim.annotation.<key>DevelopmentOpt-InstringPersistentVolumeClaimに置かれたアノテーション。<key> はアノテーション名で、値はアノテーションの値(値が空であっても)。[1]kubernetes.io/aws-ebs; ``
Descriptionk8s.persistentvolumeclaim.label.<key>DevelopmentOpt-InstringPersistentVolumeClaimに置かれたラベル。<key> はラベル名で、値はラベルの値(値が空であっても)。[2]my-app; ``

[1] k8s.persistentvolumeclaim.annotation.<key>: 例:

  • kubernetes.io/aws-ebs を持つアノテーション volume.beta.kubernetes.io/storage-provisioner は、値 "kubernetes.io/aws-ebs" を持つ k8s.persistentvolumeclaim.annotation.volume.beta.kubernetes.io/storage-provisioner 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つアノテーション data は、値 "" を持つ k8s.persistentvolumeclaim.annotation.data 属性として記録すべきです(SHOULD)。

[2] k8s.persistentvolumeclaim.label.<key>: 例:

  • my-app を持つラベル app は、値 "my-app" を持つ k8s.persistentvolumeclaim.label.app 属性として記録すべきです(SHOULD)。
  • 空文字列の値を持つラベル data は、値 "" を持つ k8s.persistentvolumeclaim.label.data 属性として記録すべきです(SHOULD)。

Kubernetes固有のガイドライン

次のガイドラインは、Kubernetesに固有のものです。