Installer Config Connector manuellement
Cette page explique comment installer Config Connector manuellement.
Pour plus d'informations sur les différentes options d'installation, consultez Choisir un type d'installation
L'installation manuelle vous offre les avantages suivants : des mises à jour plus rapides qu'en utilisant le module complémentaire.
Config Connector est configuré en mode cluster dans les instructions ci-dessous, ce qui signifie qu'un contrôleur Config Connector global est usurpé comme un seul compte de service Google Cloud IAM. Lorsque vous ajoutez des ressources Config Connector et introduisez d'autres espaces de noms Kubernetes dans le même cluster, vous pouvez envisager de passer au mode avec espace de noms, qui est plus évolutif et offre une meilleure isolation des autorisations IAM pour les cas d'utilisation multi-tenants, par exemple la gestion des ressources de plusieurs projets Google Cloud.
Avant de commencer
Avant d'installer manuellement l'opérateur Config Connector, procédez comme suit :
- Créez ou identifiez un cluster GKE où Config Connector n'a pas encore été installé et sur lequel Workload Identity et Kubernetes Engine Monitoring sont activés.
- Configurez
kubectl
pour vous connecter à votre cluster.
Installer l'opérateur Config Connector
Config Connector utilise un opérateur Kubernetes pour maintenir à jour l'installation. Pour installer cet opérateur, procédez comme suit :
Téléchargez le dernier fichier tar de l'opérateur Config Connector :
gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
Extrayez le fichier tar :
tar zxvf release-bundle.tar.gz
Installez l'opérateur Config Connector sur votre cluster :
Pour les clusters GKE Autopilot:
kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
Pour les clusters GKE Standard :
kubectl apply -f operator-system/configconnector-operator.yaml
Créer une identité
Config Connector crée et gère les ressources Google Cloud en s'authentifiant GKE Identity and Access Management (IAM) et à l'aide Workload Identity pour lier les comptes de service IAM à Kubernetes des comptes de service.
Pour créer l'identité, procédez comme suit :
-
Créer un compte de service IAM Si vous avez un compte de service existant, vous pouvez l'utiliser et ignorer cette étape.
Pour créer le compte de service, exécutez la commande suivante : Remplacezgcloud iam service-accounts create SERVICE_ACCOUNT_NAME
SERVICE_ACCOUNT_NAME
par le nom de votre compte de service. - Accordez au compte de service IAM des autorisations avec privilèges élevés sur votre projet :
Remplacez les éléments suivants :gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"
PROJECT_ID
par votre ID de projet.SERVICE_ACCOUNT_NAME
par le nom de votre compte de service.
- Créez une liaison de stratégie IAM entre le compte de service IAM et le compte de service Kubernetes prédéfini exécuté par Config Connector :
Remplacez les éléments suivants:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \ --role="roles/iam.workloadIdentityUser"
SERVICE_ACCOUNT_NAME
par le nom de votre compte de service.PROJECT_ID
par votre ID de projet.
Pour en savoir plus sur la création de comptes de service, consultez la page Créer et gérer des comptes de service.
Configurer Config Connector
Pour terminer l'installation, créez un fichier de configuration pour la ressource CustomResource ConfigConnector
, puis appliquez-le à l'aide de la commande kubectl apply
. Config Connector Operator installe
CRD des ressources Google Cloud et composants Config Connector dans votre cluster.
Pour configurer l'opérateur en mode cluster, procédez comme suit :
- Copiez le fichier YAML suivant dans un fichier nommé
configconnector.yaml
: Remplacez les éléments suivants :# configconnector.yaml apiVersion: core.cnrm.cloud.google.com/v1beta1 kind: ConfigConnector metadata: # the name is restricted to ensure that there is only one # ConfigConnector resource installed in your cluster name: configconnector.core.cnrm.cloud.google.com spec: mode: cluster googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec` # annotation to `absent` for all Config Connector resources created in the cluster in the future. # It prevents Config Connector from populating unspecified fields into the spec. stateIntoSpec: Absent
SERVICE_ACCOUNT_NAME
par le nom de votre compte de service.PROJECT_ID
par votre ID de projet.
- Appliquez la configuration à votre cluster à l'aide de la commande
kubectl apply
:kubectl apply -f configconnector.yaml
Spécifier l'emplacement où créer les ressources
Config Connector peut organiser les ressources par projet, dossier ou organisation, de la même manière que vous organiseriez les ressources à l'aide de Google Cloud.
Avant de créer des ressources à l'aide de Config Connector, vous devez configurer où créer vos ressources. Pour déterminer où créer la ressource, Config Connector utilise une annotation sur la configuration de la ressource ou un espace de noms existant. Pour en savoir plus, consultez la section Organiser les ressources.
Si vous ne disposez pas d'un espace de noms à cette fin, créez-en un aveckubectl
.
kubectl create namespace NAMESPACE
Remplacez NAMESPACE
par le nom de votre espace de noms. Par exemple, config-connector
.
Sélectionnez un onglet pour choisir où vous souhaitez que Config Connector crée des ressources.
Projet
Pour créer des ressources dans un projet donné, exécutez la commande suivante :
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
Remplacez l'élément suivant :
NAMESPACE
par le nom de votre espace de nomsPROJECT_ID
par l'ID de votre projet Google Cloud
Dossier
Pour créer des ressources dans un dossier donné, exécutez la commande suivante :
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID
Remplacez l'élément suivant :
NAMESPACE
par le nom de votre espace de nomsFOLDER_ID
par l'ID de votre dossier Google Cloud
Organisation
Pour créer des ressources dans une organisation donnée, exécutez la commande suivante :
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
Remplacez l'élément suivant :
NAMESPACE
par le nom de votre espace de nomsORGANIZATION_ID
par l'ID de votre organisation Google Cloud
Lorsque vous annotez votre espace de noms, Config Connector crée des ressources dans le projet, le dossier ou l'organisation correspondant. Pour en savoir plus sur la façon dont Config Connector utilise les espaces de noms Kubernetes, consultez la section Espaces de noms Kubernetes et projets Google Cloud.
Vérifier votre installation
Config Connector exécute tous ses composants dans un espace de noms nommé cnrm-system
.
Vous pouvez vérifier si les pods sont prêts en exécutant la commande suivante :
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
Si Config Connector est installé correctement, le résultat ressemble à ce qui suit :
pod/cnrm-controller-manager-0 condition met
Mettre à niveau Config Connector
Pour télécharger et installer la dernière version de l'opérateur Config Connector :
gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
tar zxvf release-bundle.tar.gz
kubectl apply -f operator-system/configconnector-operator.yaml
Désinstaller Config Connector
N'utilisez pas les étapes suivantes pour désinstaller un cluster Config Controller.
Utilisez kubectl delete
pour supprimer les CRD Config Connector et les composants du contrôleur :
kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com \
--wait=true
Pour désinstaller l'opérateur Config Connector, exécutez la commande suivante :
kubectl delete -f operator-system/configconnector-operator.yaml --wait=true
Effectuer la mise à niveau à partir d'installations non liées à des opérateurs
Config Connector version 1.33.0 ou ultérieure ne permet l'installation qu'avec le module complémentaire GKE, ou avec l'opérateur.
Pour mettre à niveau vers l'opérateur (et conserver toutes les ressources de Config Connector), vous devez supprimer tous les composants du système de Config Connector à l'exception des objets CRD, puis installer l'opérateur.
Exécutez les commandes suivantes pour supprimer les composants du système Config Connector à l'exception des objets CRD :
kubectl delete sts,deploy,po,svc,roles,clusterroles,clusterrolebindings --all-namespaces -l cnrm.cloud.google.com/system=true --wait=true kubectl delete validatingwebhookconfiguration abandon-on-uninstall.cnrm.cloud.google.com --ignore-not-found --wait=true kubectl delete validatingwebhookconfiguration validating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true kubectl delete mutatingwebhookconfiguration mutating-webhook.cnrm.cloud.google.com --ignore-not-found --wait=true
Installez Config Connector à l'aide du module complémentaire GKE ou de l'opérateur.
Passer du module complémentaire à une installation manuelle
Lorsqu'elle est installée en tant que module complémentaire, la version de Config Connector est directement liée à la version de GKE installée.
L'installation manuelle permet des mises à jour plus rapides au prix de mises à niveau manuelles.
Pour passer à l'installation manuelle tout en conservant les ressources en toute sécurité, procédez comme suit :
Désactivez le module complémentaire sans supprimer d'objets
ConfigConnector
ouConfigConnectorContext
:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
Remplacez
CLUSTER_NAME
par le nom du cluster sur lequel vous avez installé Config Connector.Suivez les instructions pour installer l'opérateur manuel de la version souhaitée.
Étape suivante
- Premiers pas avec Config Connector
- Découvrez les bonnes pratiques à suivre pour Config Connector.