Installare Config Connector manualmente
Questa pagina spiega come installare manualmente Config Connector.
Per ulteriori informazioni sulle diverse opzioni di installazione, consulta Scegliere un tipo di installazione.
L'installazione con il metodo manuale consente di ricevere aggiornamenti più rapidi rispetto all'utilizzo del componente aggiuntivo.
Nelle istruzioni riportate di seguito, Config Connector è configurato in modalità cluster, il che significa che esisterà un controller Config Connector globale di cui verrà simulata l'identità come singolo account di servizio Google Cloud IAM. Man mano che aggiungi altre risorse Config Connector e introduci più spazi dei nomi Kubernetes nello stesso cluster, ti consigliamo di passare alla modalità con spazi dei nomi, che è più scalabile e offre un migliore isolamento delle autorizzazioni IAM per i casi d'uso multi-tenant, ad esempio la gestione delle risorse da più progetti Google Cloud.
Prima di iniziare
Prima di installare manualmente Config Connector Operator, completa i seguenti passaggi:
- Crea o identifica un cluster GKE in cui non è ancora stato installato Config Connector 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 nel 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
Creazione di un'identità
Config Connector crea e gestisce le risorse Google Cloud autenticandosi con un account di servizio Identity and Access Management (IAM) e utilizzando Workload Identity di GKE per associare gli account di servizio IAM agli account di servizio Kubernetes.
Per creare l'identità, completa i seguenti passaggi:
-
Crea un account di servizio IAM. Se vuoi utilizzare un account di servizio esistente, puoi saltare questo passaggio.
Per creare l'account di servizio, utilizza il seguente comando: Sostituiscigcloud iam service-accounts create SERVICE_ACCOUNT_NAME
SERVICE_ACCOUNT_NAME
con un nome per l'account di servizio. -
Concedi all'account di servizio IAM autorizzazioni elevate per il progetto:
Sostituisci quanto segue:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"
PROJECT_ID
con il tuo ID progetto.SERVICE_ACCOUNT_NAME
con il nome del tuo account di servizio.
-
Crea un'associazione dei criteri IAM tra l'account di servizio IAM e l'account di servizio Kubernetes predefinito su cui viene eseguito Config Connector:
Sostituisci quanto segue: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
con il nome del tuo account di servizio.PROJECT_ID
con il tuo ID progetto.
Per scoprire di più sulla creazione degli account di servizio, consulta Creare e gestire gli account di servizio.
Configurazione di Config Connector
Per completare l'installazione, crea un file di configurazione per il ConfigConnector
CustomResource, poi applicalo utilizzando il comando kubectl apply
. L'operatore Config Connector installa nel cluster i componenti Config Connector e i CRD delle risorse Google Cloud.
Per configurare l'operatore in modalità cluster:
-
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 il tuo 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, come faresti 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 sulla configurazione della risorsa o su uno spazio dei nomi esistente. Per ulteriori informazioni, consulta Organizzare le risorse.
Se non hai un ambito per questo scopo, creane uno conkubectl
.
kubectl create namespace NAMESPACE
Sostituisci NAMESPACE
con il nome dello spazio dei nomi. Ad esempio
config-connector
.
Seleziona una scheda per scegliere dove Config Connector deve creare le risorse.
Progetto
Per creare risorse in un determinato progetto, esegui il seguente 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 il tuo ID progetto Google Cloud.
Cartella
Per creare risorse in una determinata cartella, esegui il seguente 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 tua cartella Google Cloud.
Organizzazione
Per creare risorse in una determinata organizzazione, esegui il seguente 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 il tuo ID organizzazione Google Cloud.
Quando annoti lo spazio dei nomi, Config Connector crea risorse nel progetto, nella cartella o nell'organizzazione corrispondente. 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 il seguente 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 la versione più recente 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
Disinstallazione di Config Connector
Utilizza kubectl delete
per rimuovere i 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 il seguente comando:
kubectl delete -f operator-system/configconnector-operator.yaml --wait=true
Eseguire l'upgrade da installazioni non dell'operatore
Config Connector versione 1.33.0 e successive supporta solo l'installazione con il componente aggiuntivo GKE o l'operatore.
Per eseguire l'upgrade all'operatore (e conservare tutte le risorse di Config Connector), devi rimuovere tutti i componenti di sistema di Config Connector, tranne i CRD, quindi installare l'operatore.
Esegui i seguenti comandi per rimuovere i componenti del sistema Config Connector diversi dai 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
Installa Config Connector con il componente aggiuntivo GKE o l'operatore.
Passaggio dal componente aggiuntivo a un'installazione manuale
Se installato come componente aggiuntivo, la versione di Config Connector è direttamente collegata alla versione di GKE installata.
L'installazione manuale consente aggiornamenti più rapidi, ma richiede upgrade manuali.
Per eseguire il passaggio mantenendo al sicuro tutte le risorse:
Disattiva l'add-on senza eliminare gli oggetti
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.Segui le istruzioni per installare l'operatore manuale della versione desiderata.
Passaggi successivi
- Inizia a utilizzare Config Connector.
- Scopri le best practice per Config Connector.