Installa manualmente Config Connector
Questa pagina spiega come installare manualmente Config Connector.
Per saperne di più sulle diverse opzioni di installazione, consulta Scegliere un tipo di installazione.
L'installazione con il metodo manuale offre aggiornamenti più rapidi rispetto all'utilizzo del componente aggiuntivo.
Config Connector è configurato come modalità cluster nelle istruzioni riportate di seguito, il che significa che ci sarà un controller Config Connector globale rappresentato come un singolo account di servizio IAM. Google Cloud Man mano che aggiungi altre risorse Config Connector e introduci più spazi dei nomi Kubernetes nello stesso cluster, potresti prendere in considerazione il passaggio alla modalità con spazio dei nomi, che è più scalabile e offre un migliore isolamento delle autorizzazioni IAM per scenari d'uso multi-tenant, ad esempio la gestione delle risorse da più progetti Google Cloud .
Prima di iniziare
Prima di installare manualmente l'operatore Config Connector, completa i seguenti passaggi:
- Crea o identifica un cluster GKE in cui Config Connector non è ancora stato installato e in cui sono abilitati Workload Identity e Kubernetes Engine Monitoring.
- Configura
kubectl
per connetterti al cluster.
Installazione dell'operatore Config Connector
Config Connector utilizza un operatore Kubernetes per mantenere aggiornata la sua installazione. Per installare questo operatore, completa i seguenti passaggi:
Scarica il file tar dell'operatore Config Connector più recente:
gcloud storage cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
Estrai il file tar:
tar zxvf release-bundle.tar.gz
Installa l'operatore Config Connector sul cluster:
Per i cluster GKE Autopilot:
kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
Per i cluster GKE Standard:
kubectl apply -f operator-system/configconnector-operator.yaml
Crea un'identità
Config Connector crea e gestisce le risorse Google Cloud autenticandosi con un account di servizio Identity and Access Management (IAM) e utilizzando la federazione delle identità per i workload per GKE per associare i service account IAM ai service account Kubernetes.
Per creare l'identità, completa i seguenti passaggi:
Crea un account di servizio IAM. Se vuoi utilizzare un account di servizio esistente, puoi utilizzarlo e saltare questo passaggio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sostituisci SERVICE_ACCOUNT_NAME con un nome per l'account di servizio.
Per scoprire di più sulla creazione dei service account, vedi Creazione e gestione dei service account.
Concedi all'account di servizio IAM autorizzazioni elevate sul tuo progetto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"
Sostituisci PROJECT_ID con l'ID progetto.
Crea un'associazione dei criteri IAM tra il account di servizio IAM e il account di servizio Kubernetes predefinito su cui viene eseguito Config Connector:
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"
Configurazione di Config Connector
Per completare l'installazione, crea un file di configurazione per
ConfigConnector
CustomResource,
quindi applicalo utilizzando il comando kubectl apply
. L'operatore Config Connector installa
i CRD delle risorse e i componenti Config Connector nel cluster.Google Cloud
Per configurare l'operatore come modalità cluster, completa i seguenti passaggi:
-
Copia il seguente file YAML in un file denominato
configconnector.yaml
: Sostituisci quanto segue:# 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
con il nome del tuo account di servizio.PROJECT_ID
con l'ID progetto.
-
Applica la configurazione al cluster con
kubectl apply
:kubectl apply -f configconnector.yaml
Specificare dove creare le risorse
Config Connector può organizzare le risorse per progetto, cartella o organizzazione, lo stesso modo in cui le organizzeresti con Google Cloud.
Prima di creare risorse con Config Connector, devi configurare la posizione in cui creare le risorse. Per determinare dove creare la risorsa, Config Connector utilizza un'annotazione nella configurazione della risorsa o in uno spazio dei nomi esistente. Per saperne di più, consulta la sezione Organizzare le risorse.
Se non hai uno spazio dei nomi per questo scopo, creane uno conkubectl
.
kubectl create namespace NAMESPACE
Sostituisci NAMESPACE
con il nome del tuo spazio dei nomi. Ad esempio
config-connector
.
Seleziona una scheda per scegliere dove vuoi che Config Connector crei le risorse.
Progetto
Per creare risorse in un determinato progetto, esegui questo comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
Sostituisci quanto segue:
NAMESPACE
con il nome dello spazio dei nomi.PROJECT_ID
con l'ID progetto Google Cloud .
Cartella
Per creare risorse in una determinata cartella, esegui questo comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID
Sostituisci quanto segue:
NAMESPACE
con il nome dello spazio dei nomi.FOLDER_ID
con l'ID della cartella Google Cloud .
Organizzazione
Per creare risorse in una determinata organizzazione, esegui questo comando:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
Sostituisci quanto segue:
NAMESPACE
con il nome dello spazio dei nomi.ORGANIZATION_ID
con l' Google Cloud ID organizzazione.
Quando annoti lo spazio dei nomi, Config Connector crea risorse nel progetto, nella cartella o nell'organizzazione corrispondenti. Per scoprire di più su come Config Connector utilizza gli spazi dei nomi Kubernetes, consulta Spazi dei nomi Kubernetes e progetti Google Cloud .
Verifica dell'installazione
Config Connector esegue tutti i suoi componenti in uno spazio dei nomi denominato cnrm-system
.
Puoi verificare che i pod siano pronti eseguendo questo comando:
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
Se Config Connector è installato correttamente, l'output è simile al seguente:
pod/cnrm-controller-manager-0 condition met
Eseguire l'upgrade di Config Connector
Per scaricare e installare l'ultima versione dell'operatore 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
Eseguire il downgrade di Config Connector
Il downgrade completo di Config Connector non è supportato. Per eseguire il downgrade sia dell'operatore Config Connector sia dei CRD, devi disinstallare e reinstallare Config Connector e poi riapplicare le risorse.
In Config Connector versione 1.123.1 e successive, puoi eseguire il rollback della versione dell'operatore
per le installazioni che utilizzano la modalità con spazi dei nomi.
In ogni spazio dei nomi con un operatore di cui vuoi eseguire il rollback, imposta il campo spec.version
nell'oggetto ConfigConnectorContext
sulla versione precedente di Config Connector.
Puoi eseguire il rollback del controller Config Connector di un massimo di 3 versioni secondarie. Devi sempre eseguire il rollback all'ultima versione della patch per una determinata versione secondaria.
Disinstallazione di Config Connector
Utilizza kubectl delete
per rimuovere le CRD di Config Connector insieme ai componenti del controller:
kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com \
--wait=true
Per disinstallare l'operatore Config Connector, esegui questo comando:
kubectl delete -f operator-system/configconnector-operator.yaml --wait=true
Upgrade da installazioni non dell'operatore
Config Connector versione 1.33.0 e successive supporta l'installazione solo con il componente aggiuntivo GKE o l'operatore.
Per eseguire l'upgrade all'operatore (e conservare tutte le risorse Config Connector), devi rimuovere tutti i componenti di sistema di Config Connector, tranne i CRD, e poi installare l'operatore.
Esegui i seguenti comandi per rimuovere i componenti non CRD del sistema Config Connector:
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
Installa Config Connector con il componente aggiuntivo GKE o l'operatore.
Passaggio dal componente aggiuntivo a un'installazione manuale
Se installata come componente aggiuntivo, la versione di Config Connector è direttamente collegata alla versione di GKE installata.
L'installazione manuale consente aggiornamenti più rapidi a costo di upgrade manuali.
Per passare a un altro account mantenendo tutte le risorse:
Disattiva il componente aggiuntivo senza eliminare alcun oggetto
ConfigConnector
oConfigConnectorContext
:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
Sostituisci
CLUSTER_NAME
con il nome del cluster su cui hai installato Config Connector.Installa l'operatore manuale della versione scelta.
Per evitare potenziali errori di convalida CRD (ad esempio
KNV2009: Invalid value: "v1beta1": must appear in spec.versions
), la versione scelta dell'operatore manuale deve essere uguale o successiva a quella utilizzata per il componente aggiuntivo. Il downgrade della versione dell'operatore manuale può causare errori (ad esempio KNV2009) perché il componente aggiuntivo GKE potrebbe aver già eseguito l'upgrade di alcuni CRD a una versione successiva di Config Connector.
Passaggi successivi
- Inizia a utilizzare Config Connector.
- Scopri le best practice per Config Connector.