Questa pagina descrive come installare Config Connector su un cluster Google Kubernetes Engine (GKE) utilizzando il componente aggiuntivo Config Connector.
Se utilizzi GKE su Google Cloud, ti consigliamo di installare Config Connector utilizzando questo componente aggiuntivo. Per informazioni dettagliate sulle altre opzioni di installazione, vedi Scegliere un tipo di installazione.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Assicurati di aver abilitato l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine
- Assicurati di aver installato l'interfaccia a riga di comando di Google Cloud.
- Configura le impostazioni dell'interfaccia a riga di comando di Google Cloud predefinite per il tuo progetto utilizzando uno dei seguenti metodi:
- Utilizza
gcloud init
se vuoi avere istruzioni dettagliate sull'impostazione delle impostazioni predefinite del progetto. - Utilizza
gcloud config
per impostare singolarmente l'ID, la zona e l'area geografica del progetto. -
Esegui
gcloud init
e segui le istruzioni:gcloud init
Se utilizzi SSH su un server remoto, usa il flag
--console-only
per impedire l'avvio del comando da parte di un browser:gcloud init --console-only
- Segui le istruzioni per autorizzare l'interfaccia a riga di comando gcloud a utilizzare il tuo account Google Cloud.
- Crea una nuova configurazione o selezionane una esistente.
- Scegli un progetto Google Cloud.
- Scegli una zona Compute Engine predefinita.
- Scegli un'area geografica di Compute Engine predefinita.
- Imposta l'ID progetto predefinito:
gcloud config set project PROJECT_ID
- Imposta l'area geografica di Compute Engine predefinita (ad esempio
us-central1
):gcloud config set compute/region COMPUTE_REGION
- Imposta la zona Compute Engine predefinita (ad esempio
us-central1-c
):gcloud config set compute/zone COMPUTE_ZONE
- Aggiorna
gcloud
alla versione più recente:gcloud components update
gcloud init
gcloud config
Impostando le posizioni predefinite puoi evitare errori nell'interfaccia a riga di comando gcloud come
One of [--zone, --region] must be supplied: Please specify location
:
- Seleziona o crea un progetto Google Cloud in cui installare Config Connector.
Installazione del componente aggiuntivo Config Connector
Per utilizzare il componente aggiuntivo Config Connector, crea un nuovo cluster GKE o abilitalo su un cluster esistente. Dopo aver installato il componente aggiuntivo Config Connector, devi configurare l'installazione di Config Connector con gli account di servizio Google e gli spazi dei nomi.
Requisiti
Il componente aggiuntivo Config Connector ha i seguenti requisiti:
Devi utilizzare una versione GKE di:
- 1.15.11-gke.5 e versioni successive
- 1.16.8-gke.8 e versioni successive
- 1.17.4-gke.5 e versioni successive
Devi abilitare un pool di Workload Identity e Kubernetes Engine Monitoring nei cluster in cui abiliti Config Connector.
Configurazione di un cluster GKE
Puoi utilizzare il componente aggiuntivo Config Connector su un cluster nuovo o esistente.
Creazione di un nuovo cluster con il componente aggiuntivo Config Connector abilitato
Puoi creare un cluster GKE utilizzando l'interfaccia a riga di comando gcloud o Google Cloud Console.
gcloud
Per creare un cluster con l'interfaccia a riga di comando di Google Cloud, esegui il comando seguente:
gcloud container clusters create CLUSTER_NAME \
--release-channel CHANNEL \
--addons ConfigConnector \
--workload-pool=PROJECT_ID.svc.id.goog \
--logging=SYSTEM \
--monitoring=SYSTEM
Sostituisci quanto segue:
- CLUSTER_NAME con il nome del tuo cluster GKE.
- Sono supportati i CHANNEL con un canale di rilascio GKE,
rapid
eregular
. - PROJECT_ID con il tuo ID progetto Google Cloud.
Cloud Console
Per creare un cluster con Google Cloud Console:
Vai al menu di Google Kubernetes Engine in Cloud Console.
Fai clic su Crea. Viene visualizzata la pagina Crea un cluster Kubernetes.
Specifica un nome per il cluster.
Scegli una versione mastersupportata.
Configura il resto del cluster come preferisci.
Nel riquadro di navigazione, in Cluster, fai clic su Sicurezza.
Seleziona la casella di controllo Abilita Workload Identity.
Nel riquadro di navigazione a sinistra, in Cluster, fai clic su Funzioni.
Seleziona la casella di controllo Enable Config Connector.
Fai clic su Crea.
Dopo aver creato il cluster, passa alla sezione Creare un'identità.
Abilitazione del componente aggiuntivo Config Connector su un cluster esistente
Puoi abilitare il componente aggiuntivo Config Connector su un cluster GKE esistente con gcloud
o Google Cloud Console.
Prerequisiti
L'abilitazione del componente aggiuntivo Config Connector su un cluster esistente presenta i seguenti prerequisiti:
- È necessario un cluster che soddisfi i requisiti per il componente aggiuntivo Config Connector.
Configura Workload Identity nel cluster in cui vuoi installare Config Connector.
Per abilitare Workload Identity per un pool di nodi, utilizza lo strumento a riga di comando gcloud
:
gcloud container node-pools update NODE_POOL \
--workload-metadata=GKE_METADATA \
--cluster CLUSTER_NAME
Sostituisci quanto segue:
- NODE_POOL con il nome del pool di nodi
- CLUSTER_NAME con il nome del cluster
Abilitazione del componente aggiuntivo Config Connector
Puoi abilitare il componente aggiuntivo Config Connector in un cluster GKE esistente con l'interfaccia a riga di comando di Google Cloud o Google Cloud Console.
gcloud
Per abilitare il componente aggiuntivo Config Connector in un cluster GKE esistente, utilizza l'interfaccia a riga di comando di Google Cloud:
gcloud container clusters update CLUSTER_NAME \
--update-addons ConfigConnector=ENABLED
Sostituisci CLUSTER_NAME con il nome del cluster GKE.
Cloud Console
Vai al menu di Google Kubernetes Engine in Cloud Console.
Seleziona il cluster su cui installare Config Connector. Viene visualizzata la pagina Dettagli cluster.
Nella sezione Funzioni, individua la riga Config Connector e fai clic su
Modifica.Seleziona la casella di controllo Enable Config Connector e fai clic su Salva modifiche per aggiornare il cluster.
Creazione di un'identità
Config Connector crea e gestisce le risorse Google Cloud mediante l'autenticazione con un account di servizio Identity and Access Management (IAM) e utilizzando WorkWork Identity di GKE per associare gli account di servizio IAM agli account di servizio Kubernetes.
Per creare l'identità:
-
Crea un account di servizio IAM. Se vuoi usare un account di servizio esistente, puoi farlo e saltare questo passaggio.
Per creare l'account di servizio, utilizza il comando seguente:gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
SostituisciSERVICE_ACCOUNT_NAME
con un nome per il tuo account di servizio. -
Assegna autorizzazioni elevate al progetto per l'account di servizio IAM:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"
Sostituisci quanto segue:PROJECT_ID
con l'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 eseguito da 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"
Sostituisci quanto segue:SERVICE_ACCOUNT_NAME
con il nome del tuo account di servizio.PROJECT_ID
con l'ID progetto.
Per scoprire di più sulla creazione di account di servizio, consulta la sezione Creare e gestire account di servizio.
Configurazione di Config Connector
Per completare l'installazione, crea un file di configurazione per
ConfigConnector
CustomResource,
quindi applicalo con il comando kubectl apply
. L'operatore Config Connector installa
i componenti CRD di risorse e Google Config Connector nel tuo cluster.
Per configurare l'operatore, procedi nel seguente modo:
-
Copia il seguente file YAML in un file denominato
configconnector.yaml
:# 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"
Sostituisci quanto segue:SERVICE_ACCOUNT_NAME
con il nome del tuo account di servizio.PROJECT_ID
con l'ID progetto.
-
Applica la configurazione al tuo 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, esattamente come faresti per Google Cloud.
Prima di creare risorse con Config Connector, devi configurare la piattaforma 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 ulteriori informazioni, consulta la sezione Organizzare le risorse.
Se non hai uno spazio dei nomi a 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 creare le risorse Config Connector.
Progetto
Per creare le risorse in un determinato progetto, esegui il comando seguente:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
Sostituisci quanto segue:
NAMESPACE
con il nome del tuo spazio dei nomi.PROJECT_ID
con il tuo ID progetto Google Cloud.
Cartella
Per creare le risorse in una determinata cartella, esegui il comando seguente:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID
Sostituisci quanto segue:
NAMESPACE
con il nome del tuo spazio dei nomi.FOLDER_ID
con il tuo ID cartella Google Cloud.
Organizzazione
Per creare le risorse in una determinata organizzazione, esegui il comando seguente:
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
Sostituisci quanto segue:
NAMESPACE
con il nome del tuo spazio dei nomi.ORGANIZATION_ID
con il tuo ID organizzazione Google Cloud.
Quando annota lo spazio dei nomi, Config Connector crea risorse nel progetto, nella cartella o nell'organizzazione corrispondenti. Per saperne di più su come Config Connector utilizza gli spazi dei nomi Kubernetes, vedi 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
Upgrade di Config Connector
Gli upgrade al componente aggiuntivo Config Connector del tuo cluster sono gestiti da Google Cloud.
Se vuoi eseguire regolarmente l'upgrade di Config Connector all'ultima versione, registra i cluster nel canale rapido. Per eseguire upgrade ancora più rapidi, valuta l'utilizzo di Config Controller.
Google Cloud mappa specifiche versioni secondarie di GKE a specifiche versioni di Config Connector. Quando viene eseguito l'upgrade del cluster a una nuova versione secondaria di GKE, viene eseguito automaticamente l'upgrade del componente aggiuntivo Config Connector del tuo cluster.
Ogni 1-2 settimane, le versioni secondarie di GKE disponibili solo sul canale rapido (ovvero, le versioni secondarie di GKE che non sono disponibili sui canali normali o stabili) vengono aggiornate all'ultima versione di Config Connector. L'upgrade dei cluster in tali versioni secondarie di GKE viene eseguito automaticamente. Per informazioni su come stabilire quali versioni sono disponibili sui vari canali di rilascio, vedi Visualizzare le versioni predefinite e disponibili per i canali di rilascio.
Per motivi di stabilità, Google Cloud non esegue l'upgrade delle versioni secondarie di GKE già disponibili sui canali standard o stabili, per motivi di stabilità, tranne nei casi in cui è stato rilevato un problema generico.
Disinstallazione di Config Connector
Per disinstallare Config Connector, completa i seguenti passaggi:
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
Disabilita il componente aggiuntivo Config Connector nel tuo cluster utilizzando l'interfaccia a riga di comando gcloud o Google Cloud Console:
gcloud
Per disabilitare il componente aggiuntivo Config Connector con
gcloud
, esegui il comando seguente:gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
Sostituisci CLUSTER_NAME con il nome del cluster in cui è installato il componente aggiuntivo Config Connector.
Cloud Console
Per disabilitare il componente aggiuntivo Config Connector da Google Cloud Console, esegui i passaggi riportati di seguito.
Vai alla pagina Cluster di Google Kubernetes Engine su Google Cloud Console e seleziona il cluster che vuoi aggiornare.
Fai clic su Modifica. Viene visualizzata la schermata Modifica cluster.
Fai clic su Componenti aggiuntivi.
Seleziona Config Connector e scegli Disabled (Disattivato).
Fai clic su Salva per aggiornare il cluster.
Passaggi successivi
- Inizia a utilizzare Config Connector.
- Scopri come risolvere i problemi di Config Connector.