Installa Config Connector manualmente


Questa pagina spiega come installare manualmente Config Connector.

Per saperne di più sulle diverse opzioni di installazione, consulta Scegliere un tipo di installazione.

L'installazione con il metodo manuale offre aggiornamenti più rapidi rispetto all'uso del componente aggiuntivo.

Config Connector viene configurato come modalità cluster nelle istruzioni seguenti, il che significa che ci sarà un controller Config Connector globale che verrà rappresentato come un 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 spaziatura dei nomi, che è più scalabile e offre un migliore isolamento delle autorizzazioni IAM per casi d'uso multi-tenant, ad esempio la gestione delle risorse di più progetti Google Cloud.

Prima di iniziare

Prima di installare manualmente l'operatore di Config Connector, completa i seguenti passaggi:

Installazione dell'operatore Config Connector

Config Connector utilizza un operatore Kubernetes per mantenere aggiornata l'installazione. Per installare questo operatore, completa i seguenti passaggi:

  1. Scarica il file tar dell'operatore di Config Connector più recente:

    gsutil cp gs://configconnector-operator/latest/release-bundle.tar.gz release-bundle.tar.gz
    
  2. Estrai il file tar:

    tar zxvf release-bundle.tar.gz
    
  3. Installa l'operatore di Config Connector sul tuo cluster:

    1. Per i cluster GKE Autopilot:

      kubectl apply -f operator-system/autopilot-configconnector-operator.yaml
      
    2. 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 eseguendo l'autenticazione 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. Creare 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 questo comando:
      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 Creazione e gestione degli account di servizio.

  3. Concedi all'account di servizio IAM autorizzazioni elevate per il tuo 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 di 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 il tuo ID progetto.

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 componenti CRD delle risorse Google Cloud e Config Connector nel cluster.

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"
    
    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 consente di organizzare le risorse per progetto, cartella od organizzazione, esattamente 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 la sezione Organizzazione delle risorse.

Se non hai uno spazio dei nomi 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.

Project

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

Quando annota lo spazio dei nomi, Config Connector crea le risorse nel progetto, nella cartella o nell'organizzazione corrispondente. Per saperne 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

Upgrade di Config Connector

Per scaricare e installare la versione più recente dell'operatore di Config Connector:

gsutil 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

Non seguire questi passaggi per disinstallare un cluster Config Controller.

Utilizza kubectl delete per rimuovere i CRD di Config Connector insieme ai componenti controller:

kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com \
    --wait=true

Per disinstallare l'operatore di Config Connector, esegui questo comando:

kubectl delete -f operator-system/configconnector-operator.yaml  --wait=true

Upgrade da installazioni non eseguite dall'operatore

Config Connector 1.33.0 e versioni successive supportano solo l'installazione con il componente aggiuntivo GKE o con 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, e poi installare l'operatore.

  1. Esegui questi comandi per rimuovere i componenti di sistema non CRD di Config Connector:

    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
    
  2. Installa Config Connector con il componente aggiuntivo di GKE o l'operatore.

Passare dal componente aggiuntivo a un'installazione manuale

Se installata come componente aggiuntivo, la versione di Config Connector è collegata direttamente alla versione di GKE installata.

L'installazione manuale consente aggiornamenti più rapidi, a scapito degli upgrade manuali.

Per effettuare il passaggio mantenendo tutte le risorse in sicurezza:

  1. Disabilita il componente aggiuntivo senza eliminare gli oggetti ConfigConnector o ConfigConnectorContext:

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

    Sostituisci CLUSTER_NAME con il nome del cluster su cui hai installato Config Connector.

  2. Segui le istruzioni per installare l'operatore manuale della versione desiderata.

Passaggi successivi