Installazione mediante il componente aggiuntivo 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, consulta 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à, installa e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.

Installazione del componente aggiuntivo Config Connector

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

Requisiti

Il componente aggiuntivo Config Connector presenta i seguenti requisiti:

  • Devi utilizzare una versione di 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 Workload Identity e Kubernetes Engine Monitoring sui cluster in cui attivi Config Connector.

Configurazione di un cluster GKE

Puoi utilizzare il componente aggiuntivo Config Connector in un cluster nuovo o esistente.

Creazione di un nuovo cluster con il componente aggiuntivo Config Connector abilitato

Puoi creare un cluster GKE utilizzando la CLI gcloud o la console Google Cloud.

gcloud

Per creare un cluster con Google Cloud CLI, esegui il seguente 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 il tuo Google Cloud ID progetto.

Console Google Cloud

Per creare un cluster con la console Google Cloud, svolgi i seguenti 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, fai clic su Funzionalità in Cluster.

  9. Seleziona la casella di controllo Abilita Config Connector.

  10. Fai clic su Crea.

Dopo aver creato il cluster, vai a Creare un'identità.

Attivazione del componente aggiuntivo Config Connector in un cluster esistente

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

Prerequisiti

L'attivazione del componente aggiuntivo Config Connector in un cluster esistente richiede i seguenti prerequisiti:

  • Devi disporre di un cluster che soddisfi i requisiti per il plug-in Config Connector.
  • Configura Workload Identity sul cluster in cui vuoi installare Config Connector.

Per abilitare Workload Identity per un pool di nodi, utilizza lo strumento gcloudriga di comando:

gcloud container node-pools update NODE_POOL \
    --workload-metadata=GKE_METADATA \
    --cluster CLUSTER_NAME

Sostituisci quanto segue:

  • NODE_POOL con il nome del tuo node pool
  • CLUSTER_NAME con il nome del cluster
Attivazione 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 la CLI Google Cloud:

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 Configura connettore e fai clic su Modifica.

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

Creazione di un'identità

Config Connector crea e gestisce le Google Cloud risorse 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:

  1. 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:
      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    Sostituisci SERVICE_ACCOUNT_NAME con un nome per l'account di servizio.
  2. Per scoprire di più sulla creazione degli account di servizio, consulta Creare e gestire gli account di servizio.

  3. Concedi all'account di servizio IAM autorizzazioni elevate per il progetto:
    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 il tuo ID progetto.
    • SERVICE_ACCOUNT_NAME con il nome del tuo account di servizio.
  4. 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:
    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 il tuo ID progetto.

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 iGoogle Cloud documenti CRD delle risorse e i componenti di Config Connector.

Per configurare l'operatore in modalità cluster:

  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 il tuo 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, 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 nella configurazione della risorsa o in uno spazio dei nomi esistente. Per ulteriori informazioni, consulta Organizzare le risorse.

Se non hai un ambito per questo scopo, creane uno con kubectl.
kubectl create namespace NAMESPACE

Sostituisci NAMESPACE con il nome dello 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 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 Google Cloud ID progetto.

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 il tuo Google Cloud ID cartella.

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 Google Cloud ID organizzazione.

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 e progetti Google Cloud Kubernetes.

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

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

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

Scopri come Google Cloud gestire gli upgrade dei componenti aggiuntivi di Config Connector oppure vai a come ottenere la versione più recente di Config Connector.

Come Google Cloud gestisce gli upgrade dei componenti aggiuntivi di Config Connector

La versione di Config Connector che viene assegnata a 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 diventano idonee, Google Cloud le versioni minori GKE più recenti vengono rimappate a una versione di Config Connector appena rilasciata. Questo viene fatto per tutte le versioni secondarie di GKE sufficientemente recenti da non essere disponibili nei canali di rilascio regolare o stabile.

Poiché la versione di Config Connector che viene assegnata a un cluster dipende dalla versione secondaria GKE del cluster, esistono due casi in cui viene eseguito automaticamente l'upgrade del componente aggiuntivo Config Connector di un cluster Google Cloud:

  1. Viene eseguito l'upgrade del cluster a una nuova versione secondaria di GKE mappata a una versione più recente di Config Connector.

  2. Il cluster è in una versione secondaria di GKE sufficientemente recente da non essere disponibile nei canali di rilascio regolare o stabile eGoogle Cloud riassegna questa versione secondaria di GKE a una nuova versione di Config Connector.

Quando Google Cloud viene rimappata una versione secondaria di GKE ed eseguito l'upgrade dei cluster esistenti a una nuova versione di Config Connector, si parla di "implementazione di una nuova versione di Config Connector" nella versione secondaria di GKE.

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

Come ottenere la versione più recente di Config Connector

La versione di Config Connector installata tramite il componente aggiuntivo Config Connector è spesso in ritardo di massimo 12 mesi o più. Se hai bisogno della versione più recente di Config Connector, ti consigliamo di passare a Config Controller o di installare manualmente Config Connector ed eseguire autonomamente gli upgrade. Le istruzioni per la 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 i 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 l'interfaccia a riga di comando gcloud o la console Google Cloud:

    gcloud

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

    gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
    

    Sostituisci CLUSTER_NAME con il nome del cluster su cui è installato il componente aggiuntivo Config Connector.

    console Cloud

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

    1. Vai alla pagina Cluster Google Kubernetes Engine nella console Google Cloud e seleziona il cluster da 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 Connettore di configurazione e scegli Disattivato.

    5. Fai clic su Salva per aggiornare il cluster.

Passaggi successivi