Configurer des clusters et des objets à l'échelle d'un cluster

Dans l'article concernant l'utilisation des configurations, vous avez appris à écrire des configurations de façon générale. Cette rubrique explique plus en détail comment utiliser Anthos Config Management pour configurer des clusters et des objets à l'échelle d'un cluster. Vous pouvez également en savoir plus sur la configuration des espaces de noms et des objets à l'échelle d'un espace de noms.

Toutes les configurations pour les clusters et les objets à l'échelle d'un cluster sont situées dans le répertoire cluster/ du dépôt, qui ne peut pas avoir de sous-répertoires.

Si vous n'incluez pas d'objet ClusterSelector dans votre dépôt, une configuration de cluster/ s'applique à chaque cluster enregistré dans Anthos Config Management.

Limiter les clusters affectés par une configuration

Généralement, Anthos Config Management applique une configuration à chaque cluster enregistré. Pour limiter les clusters affectés par une configuration donnée en fonction des libellés de chaque cluster, utilisez un objet ClusterSelector. Un objet ClusterSelector limite le pool de clusters auquel une configuration s'applique.

Configuration des libellés du cluster

Vous pouvez utiliser une configuration de cluster pour configurer les libellés et les annotations d'un cluster. Si vous utilisez des objets ClusterSelector, chaque cluster a besoin d'un ensemble de libellés que l'objet ClusterSelector peut sélectionner. Bien que vous puissiez attribuer un libellé aux clusters manuellement, nous vous recommandons de configurer les libellés à l'aide d'une configuration de cluster.

Exemple de configuration d'objet ClusterRole

Cette configuration crée un objet ClusterRole appelé namespace-reader, qui permet de lire tous les objets namespace du cluster. Une configuration d'objet ClusterRole est souvent utilisée avec une configuration d'objet ClusterRoleBinding.

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

Exemple de configuration d'objet ClusterRoleBinding

Cette configuration crée un objet ClusterRoleBinding appelé namespace-readers. Elle accorde à l'utilisateur cheryl@foo-corp.com le rôle ClusterRole namespace-reader pour tous les clusters enregistrés.

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

Et ensuite ?