クラスタとクラスタ スコープ オブジェクトの構成

コンフィグの動作に関するトピックでは、コンフィグの一般的な記述方法について学びました。このトピックでは、Anthos Config Management を使用してクラスタとクラスタ スコープ オブジェクトを構成する方法について、詳しく説明します。名前空間オブジェクトと名前空間スコープ オブジェクトの構成についても読むことができます。

クラスタとクラスタ スコープ オブジェクトのすべてのコンフィグは、リポジトリcluster/ ディレクトリにあります。このリポジトリはサブディレクトリを持てません。

リポジトリに ClusterSelector を含めない場合、cluster/ のコンフィグは、Anthos Config Management に登録されているすべてのクラスタに適用されます。

構成が影響を与えるクラスタの制限

通常、Anthos Config Management は登録済みの各クラスタにコンフィグを適用します。各クラスタのラベルに基づいて特定のコンフィグが影響を与えるクラスタを制限するには、ClusterSelector を使用します。ClusterSelector は、コンフィグが適用されるクラスタのプールを絞り込みます。

クラスタのラベルの構成

クラスタ構成を使用して、クラスタのラベルとアノテーションを構成できます。 ClusterSelector を使用する場合、各クラスタには ClusterSelector が選択できるラベルのセットが必要です。クラスタに手動でラベルを付けることはできますが、クラスタ コンフィグを使用してラベルを構成することをおすすめします。

ClusterRole 構成の例

この構成では、namespace-reader という名前の ClusterRole が作成され、クラスタ内のすべての namespaceオブジェクトを読み取ることができます。ClusterRole 構成ファイルは通常、ClusterRoleBinding 構成ファイルと組み合わせて使用します。

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace-reader
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "watch", "list"]

ClusterRoleBinding 構成の例

次の構成は namespace-readers という ClusterRoleBinding を作成します。登録されたすべてのクラスタにわたる namespace-reader ClusterRole をユーザー cheryl@foo-corp.com に付与します。

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace-readers
subjects:
- kind: User
  name: cheryl@foo-corp.com
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: namespace-reader
  apiGroup: rbac.authorization.k8s.io

次のステップ