Présentation du dépôt

Cette page décrit comment Anthos Config Management lit les fichiers configs à partir d'un dépôt Git appelé repo et applique automatiquement la configuration obtenue à vos clusters.

Prérequis

  • Familiarisez-vous avec les dépôts Git et l'interface de ligne de commande git.
  • Familiarisez-vous avec les objets Kubernetes que vous souhaitez configurer, ainsi qu'avec leurs champs obligatoires et facultatifs.

Structure du dépôt

Anthos Config Management exploite la structure de Git semblable à un système de fichiers pour identifier les clusters ou espaces de noms auxquels une configuration est adaptée.

namespaces/

Le répertoire namespaces/ contient les configurations associées aux espaces de noms et aux objets à l'échelle d'un espace de noms. La structure de namespaces/ est le mécanisme qui gère le processus d'héritage des espaces de noms. Pour en savoir plus à ce sujet, cliquez sur le lien précédent.

cluster/

Le répertoire cluster/ contient des configurations qui s'appliquent à des clusters entiers plutôt qu'à des espaces de noms. Par défaut, toute configuration du répertoire cluster/ s'applique à chaque cluster enregistré dans Anthos Config Management. Vous pouvez limiter les clusters susceptibles d'être affectés par une configuration en utilisant un objet ClusterSelector.

clusterregistry/

Le répertoire clusterregistry/ est facultatif et contient les configurations associées aux objets ClusterSelector. Ces objets limitent les clusters auxquels une configuration s'applique et sont référencés dans les configurations trouvées dans les répertoires cluster/ et namespaces/.

system/

Le répertoire system/ contient des configurations pour l'opérateur. Pour en savoir plus sur la configuration d'Anthos Config Management, consultez l'article Installer Anthos Config Management.

Exemple de dépôt

Cet exemple illustre la structure d'un dépôt.

Vous pouvez constater que les répertoires d'espaces de noms abstraits online/ et shipping-app-backend/ sont imbriqués dans namespaces/. Il s'agit de répertoires d'espaces de noms abstraits, car ils ne disposent d'aucune configuration pour un espace de noms.

foo-corp
├── cluster
│   ├── namespace-reader-clusterrolebinding.yaml
│   ├── namespace-reader-clusterrole.yaml
│   ├── pod-creator-clusterrole.yaml
│   └── pod-security-policy.yaml
├── clusterregistry
│   ├── cluster-1.yaml
│   ├── cluster-2.yaml
│   ├── clusterselector-1.yaml
│   └── clusterselector-2.yaml
├── namespaces
│   ├── audit
│   │   └── namespace.yaml
│   ├── online
│   │   └── shipping-app-backend
│   │       ├── pod-creator-rolebinding.yaml
│   │       ├── quota.yaml
│   │       ├── shipping-dev
│   │       │   ├── job-creator-rolebinding.yaml
│   │       │   ├── job-creator-role.yaml
│   │       │   ├── namespace.yaml
│   │       │   └── quota.yaml
│   │       ├── shipping-prod
│   │       │   └── namespace.yaml
│   │       └── shipping-staging
│   │           └── namespace.yaml
│   ├── sre-rolebinding.yaml
│   ├── sre-supported-selector.yaml
│   └── viewers-rolebinding.yaml
└── system
    └── hierarchy-config.yaml

Étape suivante