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. Cet article aborde plus en détail l'utilisation de Config Sync 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 Config Sync.

Limiter les clusters affectés par une configuration

Généralement, Config Sync applique une configuration à chaque cluster enregistré. Si la configuration se trouve dans le sous-répertoire namespaces/, Config Sync crée d'abord l'espace de noms dans chaque cluster, puis applique toutes les configurations héritées à cet espace de noms.

Toutefois, si vous devez appliquer une configuration à un sous-ensemble de clusters, vous pouvez ajouter une annotation ou un objet ClusterSelector à vos configurations. Pour apprendre à utiliser ces fonctionnalités, consultez la section Configurer uniquement un sous-ensemble de clusters.

Configurer 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 ClusterRole nommé namespace-reader, qui permet de lire tous les objets namespace du cluster. La configuration d'un ClusterRole est souvent utilisée avec la configuration d'un 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

Étapes suivantes