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.

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.

    gcloud init

    1. 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
    2. Segui le istruzioni per autorizzare l'interfaccia a riga di comando gcloud a utilizzare il tuo account Google Cloud.
    3. Crea una nuova configurazione o selezionane una esistente.
    4. Scegli un progetto Google Cloud.
    5. Scegli una zona Compute Engine predefinita.
    6. Scegli un'area geografica di Compute Engine predefinita.

    gcloud config

    1. Imposta l'ID progetto predefinito:
      gcloud config set project PROJECT_ID
    2. Imposta l'area geografica di Compute Engine predefinita (ad esempio us-central1):
      gcloud config set compute/region COMPUTE_REGION
    3. Imposta la zona Compute Engine predefinita (ad esempio us-central1-c):
      gcloud config set compute/zone COMPUTE_ZONE
    4. Aggiorna gcloud alla versione più recente:
      gcloud components update

    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:

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:

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 e regular.
  • PROJECT_ID con il tuo ID progetto Google Cloud.

Cloud Console

Per creare un cluster con Google Cloud Console:

  1. Vai al menu di Google Kubernetes Engine in Cloud Console.

    Visita il menu 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 mastersupportata.

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

  9. Seleziona la casella di controllo Enable Config Connector.

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

  1. Vai al menu di Google Kubernetes Engine in Cloud Console.

    Visita il menu Google Kubernetes Engine

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

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

  4. 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à:

  1. 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
    Sostituisci SERVICE_ACCOUNT_NAME con un nome per il tuo account di servizio.
  2. Per scoprire di più sulla creazione di account di servizio, consulta la sezione Creare e gestire account di servizio.

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

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:

  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"
    
    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 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 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 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:

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

    1. Vai alla pagina Cluster di Google Kubernetes Engine su Google Cloud Console e seleziona il cluster che vuoi aggiornare.

      Visita il menu 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 Disabled (Disattivato).

    5. Fai clic su Salva per aggiornare il cluster.

Passaggi successivi