9章Podの管理

大きな問題などない。あるのは多くの小さな問題だけだ。

――Henry Ford(米国の自動車王、1863~1947)

8章ではコンテナの詳細を取り扱い、コンテナを組み合わせてPodが構成されていることを説明しました。Podには他にもさまざまな興味深い側面があり、本章ではこれらについて見ていきます。具体的には、Label、PodのスケジューリングをガイドするNode Affinity、Podが特定のノードで実行されないようにするTaintとToleration、Podの組み合わせを指定または回避するPod Affinity、アプリケーションのオーケストレーションを実行するPodコントローラ(DaemonSetやStatefulSetなど)について説明します。

また、Ingressリソース、Istio、Envoyなどの高度なネットワーキングオプションも取り上げます。

9.1 Label

Pod(および他のKubernetesリソース)にはLabel(ラベル)を付けることができ、関連リソースの接続に重要な役割を担うこと(例:Serviceからのリクエストを適切なバックエンドに送信)については、すでに簡単に触れました。この節ではLabelとセレクタについて詳しく見ていきます。

9.1.1 Labelとは何か

Labelとは、Podなどのオブジェクトに付加されるキーと値のペアです。ラベルを使用するのは、ユーザにとって意味や関連性があるものの、コアシステムにとってのセマンティックス(意味構造)を直接的に構成するわけではないオブジェクト識別属性を指定するためです。

――Kubernetesドキュメンテーション(https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ...

Get Kubernetesで実践するクラウドネイティブDevOps now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.