Cette page s'adresse aux administrateurs de plates-formes.
Cette page explique comment installer Anthos Config Management.
Anthos Config Management vous permet d'appliquer des règles et des configurations à vos clusters Anthos de manière déclarative en déployant automatiquement votre nouvelle configuration à partir d'un dépôt Git central. Pour en savoir plus, consultez la documentation Anthos Config Management.
Vous pouvez installer Anthos Config Management à l'aide du centre de gestion ou de kubectl. Vous devez disposer d'un dépôt Git avant d'installer Anthos Config Management.
Installer depuis le centre de gestion
Configurez Anthos Config Management sur votre cluster d'utilisateur en accédant à l'onglet Config Management, puis cliquez sur Configuration. Suivez les instructions sur la page pour terminer la configuration.
Vous pouvez également mettre à jour ou mettre à niveau une installation Anthos Config Management existante. Cliquez sur le lien situé sous la colonne Version pour modifier la configuration existante.
Installer avec kubectl
L'installation d'Anthos Config Management avec kubectl
est un processus en deux étapes.
Commencez par configurer des clés SSH que Config Sync doit utiliser pour s'authentifier auprès de votre dépôt Git. Ensuite, vous installez les ressources Anthos Config Management, ConfigManagementFeatureSpec
et ConfigManagementBinding
, dans le cluster.
Vous pouvez également utiliser kubectl
pour mettre à jour ou mettre à niveau une installation Anthos Config Management existante.
Configurer des clés SSH
Une paire de clés SSH se compose de deux fichiers : une clé publique et une clé privée. La clé publique possède généralement une extension .pub
.
Créez une paire de clés SSH pour permettre à Config Sync de s'authentifier auprès de votre dépôt Git. Vous pouvez utiliser une seule paire de clés pour tous les clusters ou une paire de clés par cluster, en fonction de vos exigences en matière de sécurité et de conformité.
La commande suivante crée une clé RSA de 4 096 bits. Les valeurs inférieures ne sont pas recommandées :
ssh-keygen -t rsa -b 4096 \ -C GIT_REPOSITORY_USERNAME \ -N '' \ -f /path/to/KEYPAIR_FILENAME
Remplacez les éléments suivants :
GIT_REPOSITORY_USERNAME
: nom d'utilisateur avec lequel vous souhaitez que Config Sync s'authentifie auprès du dépôt./path/to/KEYPAIR_FILENAME
: chemin d'accès vers lequel générer la paire de clés.
Configurez votre dépôt pour qu'il reconnaisse la clé publique que vous venez de créer. Reportez-vous à la documentation de votre fournisseur d'hébergement Git.
Ajoutez la clé privée à un nouvel objet Secret dans le cluster d'utilisateur :
kubectl create ns config-management-system --kubeconfig=USER_CLUSTER_KUBECONFIG && \ kubectl create secret generic git-creds --kubeconfig=USER_CLUSTER_KUBECONFIG \ --namespace=config-management-system \ --from-file=ssh=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
Remplacez les éléments suivants :
USER_CLUSTER_KUBECONFIG
: fichier de configuration du cluster d'utilisateur. Vous pouvez l'obtenir auprès du centre de gestion./path/to/KEYPAIR_PRIVATE_KEY_FILENAME
: nom de la clé privée (fichier sans suffixe.pub
).
Supprimez la clé privée du disque local ou protégez-la.
Configurer ConfigManagementFeatureSpec
et ConfigManagementBinding
Ensuite, créez une ressource ConfigManagementFeatureSpec
dans votre cluster :
kubectl apply -f CONFIG_MANAGEMENT_YAML --kubeconfig=ADMIN_OIDC_KUBECONFIG
Remplacez les éléments suivants :
- ADMIN_OIDC_KUBECONFIG : identifiants OIDC pour le cluster d'administrateur. Pour obtenir des instructions, consultez la section Se connecter avec OIDC au serveur d'API Kubernetes du cluster d'administrateur.
- CONFIG_MANAGEMENT_YAML : chemin d'accès au fichier de configuration de la ressource
ConfigManagementFeatureSpec
. Reportez-vous à l'exemple suivant :
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.8.2"
git:
syncRepo: "git@GIT_HOST_ADDRESS:REPO_NAME.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
---
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementBinding
metadata:
name: config-management-binding-sample
namespace: anthos-management-center
spec:
configs:
- configRef:
name: config-management-spec-sample
namespace: anthos-management-center
placement:
clusterIDs:
- "CLUSTER-NAME"
Remplacez les éléments suivants :
GIT_HOST_ADDRESS
: adresse hôte du dépôt Git.REPO_NAME
: nom du dépôt Git.CLUSTER-NAME
: nom du cluster.
Mettre à jour et mettre à niveau
Vous pouvez mettre à jour ou mettre à niveau Anthos Config Management en modifiant le fichier ConfigManagementFeatureSpec
correspondant.
Par exemple, pour activer la fonctionnalité Restructured Repo, mettez à jour le fichier ConfigManagementFeatureSpec
:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: ConfigManagementFeatureSpec
metadata:
name: config-management-spec-sample
namespace: anthos-management-center
spec:
version: "1.8.2"
sourceFormat: "unstructured"
git:
syncRepo: "git@<YOUR_GIT_HOST_ADDRESS>:<YOUR_UNSTRUCTURED_REPO>.git"
policyDir: "."
secretType: "ssh"
syncBranch: "master"
syncRev: "HEAD"
syncWait: 15
policyController:
enabled: true
Afficher l'état d'Anthos Config Management
Vous pouvez afficher l'état d'Anthos Config Management en interrogeant la ressource ConfigManagementBinding
.
kubectl get ConfigManagementBinding -o \
jsonpath="{range .items[*].status.bindingItemStatuses[*]}{'\n'}{['clusterID', 'configRef', 'conditions']}" \
--namespace=anthos-management-center \
--kubeconfig=ADMIN_OIDC_KUBECONFIG \
| grep CLUSTER-NAME
Remplacez les éléments suivants :
ADMIN_OIDC_KUBECONFIG
: identifiants OIDC pour le cluster d'administrateur. Pour obtenir des instructions, consultez la section Se connecter avec OIDC au serveur d'API Kubernetes du cluster d'administrateur.CLUSTER-NAME
: nom du cluster.
Voici un exemple de résultat avec Anthos Config Management en état sain :
target-user-cluster-1 {"name":"new-spec-f75y8","namespace":"anthos-management-center"} [{"lastTransitionTime":"2021-05-27T18:06:27Z","message":"","observedGeneration":1,"reason":"Healthy","status":"True","type":"Ready"}]
Étapes suivantes
- Découvrez Anthos Config Management.