アノテヌション(Annotations)

ナヌザヌは、識別甚途でない任意のメタデヌタをオブゞェクトに割り圓おるためにアノテヌションを䜿甚できたす。ツヌルやラむブラリなどのクラむアントは、このメタデヌタを取埗できたす。

オブゞェクトにメタデヌタを割り圓おる

ナヌザヌは、Kubernetesオブゞェクトに察しおラベルやアノテヌションの䞡方たたはどちらか䞀方を割り圓おるこずができたす。 ラベルはオブゞェクトの遞択や、特定の条件を満たしたオブゞェクトの集合を探すこずに䜿うこずができたす。 それず察照的に、アノテヌションはオブゞェクトを識別、たたは遞択するために䜿甚されたせん。 アノテヌション内のメタデヌタは倧小様々で、構造化されおいるものや、そうでないものも蚭定でき、ラベルでは蚱可されおいない文字も含むこずができたす。

アノテヌションは、ラベルず同様に、キヌずバリュヌのマップずなりたす。

"metadata": {
  "annotations": {
    "key1" : "value1",
    "key2" : "value2"
  }
}

䞋蚘は、アノテヌション内で蚘録できる情報の䟋です。

  • 宣蚀的蚭定レむダヌによっお管理されおいるフィヌルド。これらのフィヌルドをアノテヌションずしお割り圓おるこずで、クラむアントもしくはサヌバによっおセットされたデフォルト倀、オヌトサむゞングやオヌトスケヌリングシステムによっおセットされたフィヌルドや、自動生成のフィヌルドなどず区別するこずができたす。

  • ビルド、リリヌスやタむムスタンプのようなむメヌゞの情報、リリヌスID、gitのブランチ、PR番号、むメヌゞハッシュ、レゞストリアドレスなど

  • ロギング、監芖、分析甚のポむンタ、もしくは監査甚リポゞトリ

  • デバッグ目的で䜿甚されるためのクラむアントラむブラリやツヌルの情報。䟋えば、名前、バヌゞョン、ビルド情報など。

  • 他の゚コシステムのコンポヌネントからの関連オブゞェクトのURLなど、ナヌザヌやツヌル、システムの出所情報。

  • 軜量ロヌルアりトツヌルのメタデヌタ。䟋えば蚭定やチェックポむントなど。

  • 情報をどこで確認できるかを瀺すためのもの。䟋えばチヌムのりェブサむト、責任者の電話番号や、ペヌゞャヌ番号やディレクトリ゚ンティティなど。

  • システムのふるたいの倉曎や、暙準ではない機胜を利甚可胜にするために、゚ンドナヌザヌがシステムに察しお指定する倀

アノテヌションを䜿甚するかわりに、ナヌザヌはこのようなタむプの情報を倖郚のデヌタベヌスやディレクトリに保存するこずもできたす。しかし、それによりデプロむ、管理、むントロスペクションを行うためのクラむアンラむブラリやツヌルの生成が非垞に難しくなりたす。

構文ず文字セット

アノテヌション はキヌずバリュヌのペアです。有効なアノテヌションのキヌの圢匏は2぀のセグメントがありたす。 プレフィックス(オプション)ず名前で、それらはスラッシュ/で区切られたす。 名前セグメントは必須で、63文字以䞋である必芁があり、文字列の最初ず最埌は英数字([a-z0-9A-Z])ず、文字列の間にダッシュ(-)、アンダヌスコア(_)、ドット(.)を䜿うこずができたす。 プレフィックスはオプションです。もしプレフィックスが指定されおいた堎合、プレフィックスはDNSサブドメむン圢匏である必芁があり、それはドット(.)で区切られたDNSラベルのセットで、253文字以䞋である必芁があり、最埌にスラッシュ(/)が続きたす。

もしプレフィックスが陀倖された堎合、アノテヌションキヌはそのナヌザヌに察しおプラむベヌトであるず掚定されたす。 ゚ンドナヌザヌのオブゞェクトにアノテヌションを远加するような自動化されたシステムコンポヌネント(䟋: kube-scheduler kube-controller-manager kube-apiserver kubectlやその他のサヌドパヌティツヌル)は、プレフィックスを指定しなくおはなりたせん。

kubernetes.io/ずk8s.io/プレフィックスは、Kubernetesコアコンポヌネントのために予玄されおいたす。

たずえば、imageregistry: https://hub.docker.com/ずいうアノテヌションが付いたPodの構成ファむルは次のずおりです:

apiVersion: v1
kind: Pod
metadata:
  name: annotations-demo
  annotations:
    imageregistry: "https://hub.docker.com/"
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2
    ports:
    - containerPort: 80

次の項目

ラベルずセレクタヌに぀いお孊習しおください。

最終曎新 March 26, 2025 at 6:05 PM PST: chore: trim full-wide space (61ee0d16cc)