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

Cette page explique comment 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.

Dans les dépôts non structurés, vous pouvez organiser les configurations pour les clusters et les objets à l'échelle d'un cluster dans votre dépôt de la manière qui vous convient le mieux. Si vous n'incluez pas d'objet ClusterSelector dans votre dépôt, toutes les configurations pour les objets à l'échelle d'un cluster s'appliquent à chaque cluster enregistré dans Config Sync.

Dans les dépôts hiérarchiques, toutes les configurations pour les clusters et les objets à l'échelle d'un cluster sont situées dans le répertoire cluster/ d'un dépôt hiérarchique. 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/ d'un dépôt hiérarchique, 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.

Configurer des objets CustomResourceDefinitions

Config Sync vous permet de synchroniser des objets CustomResourceDefinitions (CRD) de la même manière que n'importe quelle autre ressource. Quelques points sont à garder à l'esprit lors de la synchronisation des objets CRD :

  • Les objets CRD de dépôts hiérarchiques, même lors de la déclaration d'une ressource personnalisée associée à un espace de noms, doivent être placés dans le répertoire cluster/.

  • Les mises à jour des objets CRD et de leurs ressources personnalisées correspondantes ne s'effectuent pas dans un ordre prévisible. Si vous modifiez des objets CRD et leurs ressources personnalisées correspondantes dans le même commit, les objets CRD ne seront pas nécessairement mis à jour avant les ressources personnalisées. Les nomos status peuvent alors signaler une erreur temporaire pendant une courte période, jusqu'à ce que les ressources personnalisées et les objets CRD soient présents dans le cluster.

  • Config Sync n'autorise pas la suppression d'un objet CRD si une ressource personnalisée du dépôt en dépend. Pour supprimer un objet CRD, vous devez également supprimer sa ressource personnalisée. Nous vous recommandons de les supprimer dans le même commit pour le dépôt.

  • Vous pouvez synchroniser une ressource personnalisée sans synchroniser son objet CRD, à condition de garantir que ce dernier existe déjà dans le cluster.

Étape suivante