Installazione mediante il componente aggiuntivo di GKE


Questa pagina descrive come installare Config Connector su un cluster Google Kubernetes Engine (GKE) utilizzando il componente aggiuntivo Config Connector.

Per informazioni dettagliate su ciascuna opzione di installazione con i relativi vantaggi e svantaggi, vedi Scegliere un tipo di installazione.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:

  • Attiva l'API Google Kubernetes Engine.
  • Attiva l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installala e poi inizializzala. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo gcloud components update.

Installazione del componente aggiuntivo Config Connector

Utilizzi il componente aggiuntivo Config Connector creando un nuovo cluster GKE o attivandolo in un cluster esistente. Dopo aver installato il componente aggiuntivo Config Connector, configura l'installazione di Config Connector con i tuoi service account Google e i tuoi spazi dei nomi.

Requisiti

Il componente aggiuntivo Config Connector presenta i seguenti requisiti:

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 gcloud CLI o la consoleGoogle Cloud .

gcloud

Per creare un cluster con Google Cloud CLI, esegui questo comando:

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.
  • CHANNEL con un canale di rilascio GKE, rapid e regular sono supportati.
  • PROJECT_ID con l'ID progetto Google Cloud .

Console Google Cloud

Per creare un cluster con la console Google Cloud , segui questi passaggi:

  1. Visita il menu Google Kubernetes Engine nella console Google Cloud .

    Visita il menu di Google Kubernetes Engine

  2. Fai clic su Crea. Viene visualizzata la pagina Crea un cluster Kubernetes.

  3. Specifica un nome per il cluster.

  4. Scegli una versione master supportata.

  5. Configura il resto del cluster come preferisci.

  6. Nel riquadro di navigazione, in Cluster, fai clic su Sicurezza.

  7. Seleziona la casella di controllo Abilita Workload Identity.

  8. Nel riquadro di navigazione a sinistra, in Cluster, fai clic su Funzionalità.

  9. Seleziona la casella di controllo Abilita Config Connector.

  10. Fai clic su Crea.

Dopo aver creato il cluster, passa alla creazione di un'identità.

Attivazione del componente aggiuntivo Config Connector su un cluster esistente

Puoi abilitare il componente aggiuntivo Config Connector su un cluster GKE esistente con gcloud o la console Google Cloud .

Prerequisiti

L'abilitazione del componente aggiuntivo Config Connector su un cluster esistente presenta i seguenti prerequisiti:

  • Devi disporre di un cluster che soddisfi i requisiti per il componente aggiuntivo Config Connector.
  • Configura la federazione delle identità per i carichi di lavoro per GKE sul cluster in cui vuoi installare Config Connector.

Per abilitare la federazione delle identità per i carichi di lavoro per GKE 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 tuo 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 Google Cloud CLI o la console Google Cloud .

gcloud

Per abilitare il componente aggiuntivo Config Connector in un cluster GKE esistente, utilizza Google Cloud CLI:

gcloud container clusters update CLUSTER_NAME \
    --update-addons ConfigConnector=ENABLED

Sostituisci CLUSTER_NAME con il nome del tuo cluster GKE.

Console Google Cloud

  1. Visita il menu Google Kubernetes Engine nella console Google Cloud .

    Visita il menu di Google Kubernetes Engine

  2. Seleziona il cluster su cui vuoi installare Config Connector. Viene visualizzata la pagina Dettagli cluster.

  3. Nella sezione Funzionalità, individua la riga Config Connector e fai clic su Modifica.

  4. Seleziona la casella di controllo Abilita Config Connector e fai clic su Salva modifiche per aggiornare il cluster.

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:

  1. 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.

  2. 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.

  3. 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:

  1. 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"
      # 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
    Sostituisci quanto segue:
    • SERVICE_ACCOUNT_NAME con il nome del tuo account di servizio.
    • PROJECT_ID con l'ID progetto.
  2. 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 con kubectl.
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

Gli upgrade del componente aggiuntivo Config Connector del cluster sono gestiti da Google Cloud.

Le risorse nel cluster vengono conservate ogni volta che viene eseguito un upgrade.

Scopri di più su come Google Cloud gestisce gli upgrade del componente aggiuntivo Config Connector oppure vai direttamente a come ottenere l'ultima versione di Config Connector.

Come Google Cloud gestisce gli upgrade del componente aggiuntivo Config Connector

La versione di Config Connector ottenuta da un cluster GKE dipende interamente dalla versione secondaria di GKE del cluster. Ad esempio:

Versione secondaria di GKE Versione di Config Connector
1,20 1.69.0
1.21 1.69.0
1,22 1.71.0
1,23 1.82.0
1,24 1.89.0

Man mano che le versioni vengono qualificate, Google Cloud remappa le versioni secondarie più recenti di GKE a una versione di Config Connector appena rilasciata. Questa operazione viene eseguita per tutte le versioni secondarie di GKE sufficientemente nuove da non essere disponibili sui canali di rilascio regolare o stabile.

Poiché la versione di Config Connector ottenuta da un cluster dipende dalla versione secondaria di GKE del cluster, esistono due casi in cui il componente aggiuntivo Config Connector di un cluster viene aggiornato automaticamente da Google Cloud:

  1. Il cluster viene aggiornato a una nuova versione secondaria di GKE mappata a una versione più recente di Config Connector.

  2. Il cluster si trova su una versione secondaria di GKE sufficientemente nuova da non essere disponibile sui canali di rilascio regolare o stabile e Google Cloud rimappa quella versione secondaria di GKE a una nuova versione di Config Connector.

Quando Google Cloud rimappa una versione secondaria di GKE ed esegue l'upgrade dei cluster esistenti a una nuova versione di Config Connector, si dice che "sta eseguendo il rollout di una nuova versione di Config Connector" per quella versione secondaria di GKE.

Google Cloud non implementa nuove versioni di Config Connector nelle versioni secondarie di GKE sufficientemente vecchie da essere disponibili nelle versioni dei canali di rilascio Regolare o Stabile per motivi di stabilità, tranne in situazioni di emergenza in cui è stato rilevato un problema diffuso.

Come ottenere l'ultima versione di Config Connector

La versione di Config Connector installata tramite il componente aggiuntivo Config Connector spesso è in ritardo di 12 mesi o più. Se hai bisogno dell'ultima versione di Config Connector, ti consigliamo di passare a Config Controller o di installare manualmente Config Connector ed eseguire gli upgrade autonomamente. Le istruzioni di migrazione per ogni opzione sono le seguenti:

Disinstallazione di Config Connector

Per disinstallare Config Connector, completa i seguenti passaggi:

  1. 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
    
  2. Disattiva il componente aggiuntivo Config Connector nel cluster utilizzando gcloud CLI o la console Google Cloud :

    gcloud

    Per disattivare il componente aggiuntivo Config Connector con gcloud, esegui questo comando:

    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.

    console Cloud

    Per disattivare il componente aggiuntivo Config Connector dalla console Google Cloud , segui i seguenti passaggi.

    1. Vai alla pagina Cluster Google Kubernetes Engine nella console Google Cloud e seleziona il cluster che vuoi aggiornare.

      Visita il menu di Google Kubernetes Engine

    2. Fai clic su Modifica. Viene visualizzata la schermata Modifica cluster.

    3. Fai clic su Componenti aggiuntivi.

    4. Seleziona Config Connector e scegli Disattivato.

    5. Fai clic su Salva per aggiornare il cluster.

Passaggi successivi