Crea un cluster Autopilot

Questa pagina spiega come creare un cluster Google Kubernetes Engine (GKE) in modalità Autopilot. Autopilot è una modalità operativa di GKE che ti consente di concentrarti sui servizi e sulle applicazioni, mentre GKE gestisce i nodi e l'infrastruttura. Quando esegui il deployment dei workload, GKE esegue il provisioning, la configurazione e la gestione delle risorse e dell'hardware, comprese le attività di scalabilità.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installala e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo il gcloud components update comando. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.

Configurare i service account IAM per GKE

GKE utilizza i service account IAM collegati ai nodi per eseguire attività di sistema come il logging e il monitoraggio. Come minimo, questi service account dei nodi devono avere il ruolo Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) nel progetto. Per impostazione predefinita, GKE utilizza il service account predefinito di Compute Engine, creato automaticamente nel progetto, come account di servizio dei nodi.

Per concedere il ruolo roles/container.defaultNodeServiceAccount al account di servizio predefinito di Compute Engine, completa i seguenti passaggi:

Console

  1. Vai alla pagina di benvenuto:

    Vai alla pagina di benvenuto

  2. Nel campo Numero progetto, fai clic Copia negli appunti.
  3. Vai alla pagina IAM:

    Vai a IAM

  4. Fai clic su Concedi l'accesso.
  5. Nel campo Nuove entità, specifica il seguente valore:
    PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com
    Sostituisci PROJECT_NUMBER con il numero del progetto che hai copiato.
  6. Nel menu Seleziona un ruolo, seleziona il Kubernetes Engine Default Node Service Account ruolo.
  7. Fai clic su Salva.

gcloud

  1. Trova il numero del progetto: Cloud de Confiance
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Sostituisci PROJECT_ID con l'ID progetto.

    L'output è simile al seguente:

    12345678901
    
  2. Concedi il ruolo roles/container.defaultNodeServiceAccount al account di servizio predefinito di Compute Engine:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.s3ns-system.iam.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Sostituisci PROJECT_NUMBER con il numero del progetto dal passaggio precedente.

Crea un cluster Autopilot

Le informazioni minime che devi specificare quando crei un nuovo cluster Autopilot sono un nome, un progetto (in genere il progetto attuale) e una regione (in genere la regione predefinita per gli strumenti della riga di comando). Tuttavia, esistono molte altre impostazioni di configurazione possibili, alcune delle quali non possono essere modificate dopo la creazione del cluster. Assicurati di comprendere quali impostazioni non possono essere modificate dopo la creazione del cluster e di scegliere l'impostazione corretta quando crei un cluster, se non vuoi doverlo creare di nuovo.

Puoi visualizzare una panoramica delle opzioni di configurazione del cluster in Informazioni sulle scelte di configurazione del cluster e un elenco completo delle opzioni possibili nelle guide di riferimento gcloud container clusters create-auto e Terraform google_container_cluster.

Puoi creare un cluster Autopilot utilizzando Google Cloud CLI, la Cloud de Confiance console o Terraform:

gcloud

Esegui questo comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster Autopilot.
  • LOCATION: la regione del cluster.
  • PROJECT_ID: il tuo ID progetto.

Ti consigliamo vivamente di specificare un account di servizio IAM con privilegi minimi che i nodi possono utilizzare al posto del account di servizio predefinito di Compute Engine. Per scoprire come creare un account di servizio con privilegi minimi, consulta Utilizzare un service account con privilegio minimo minimi.

Per specificare un account di servizio personalizzato in gcloud CLI, aggiungi il seguente flag al tuo comando:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com

Sostituisci SERVICE_ACCOUNT_NAME con il nome del service account con privilegi minimi.

Per un elenco di altre opzioni che puoi specificare, consulta la gcloud container clusters create-auto documentazione di riferimento.

Console

Esegui le seguenti attività:

  1. Nella Cloud de Confiance console, vai alla pagina Crea un cluster Autopilot.

    Vai a Crea un cluster Autopilot

  2. Nella sezione Impostazioni di base del cluster, completa quanto segue:

  3. Inserisci il Nome del cluster.

  4. Seleziona una regione per il cluster.

    1. (Facoltativo) Se vuoi registrare il nuovo cluster in un parco risorse, vai alla sezione Registrazione del parco risorse e segui le Cloud de Confiance istruzioni della console in Creare e registrare un nuovo cluster per completare la registrazione del cluster.
  5. Per la sezione Networking, consulta Personalizzare l'isolamento di rete per le istruzioni di configurazione.

  6. (Facoltativo) Specifica un account di servizio IAM personalizzato per i nodi:
    1. Nella pagina Impostazioni avanzate, espandi la sezione Sicurezza.
    2. Nel menu Service account, seleziona il account di servizio che preferisci.

    Ti consigliamo vivamente di specificare un account di servizio IAM con privilegi minimi che i nodi possono utilizzare al posto del account di servizio predefinito di Compute Engine. Per scoprire come creare un account di servizio con privilegi minimi, consulta Utilizzare un service account con privilegio minimo minimi.

  7. (Facoltativo) Configura altre impostazioni, come i periodi di manutenzione e le funzionalità di sicurezza avanzate.

  8. Fai clic su Crea.

Terraform

Per creare un cluster Autopilot utilizzando Terraform, consulta il seguente esempio:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-basic"
  location = "us-central1"

  enable_autopilot = true
}

Per creare un cluster Autopilot che utilizza un account di servizio IAM personalizzato:

  1. Crea un account di servizio IAM e concedigli il ruolo roles/container.defaultNodeServiceAccount nel progetto:

    resource "google_service_account" "default" {
      account_id   = "gke-node-service-account"
      display_name = "GKE node service account"
    }
    
    data "google_project" "project" {
    }
    
    resource "google_project_iam_member" "default" {
      project = data.google_project.project.project_id
      role    = "roles/container.defaultNodeServiceAccount"
      member  = "serviceAccount:${google_service_account.default.email}"
    }
  2. Crea un cluster Autopilot che utilizza il nuovo account di servizio:

    resource "google_container_cluster" "default" {
      name     = "autopilot-custom-account"
      location = "us-central1"
    
      enable_autopilot = true
    
      cluster_autoscaling {
        auto_provisioning_defaults {
          service_account = google_service_account.default.email
        }
      }
    }

Per scoprire di più sull'utilizzo di Terraform, consulta Supporto di Terraform per GKE.

Crea un cluster Autopilot con un canale di rilascio e una versione specifici

Per impostazione predefinita, GKE registra i nuovi cluster Autopilot nel canale di rilascio Regular, con la versione GKE predefinita nel canale. Puoi modificare il canale di rilascio quando crei un cluster Autopilot utilizzando la gcloud CLI, la Cloud de Confiance console o Terraform.

Puoi anche impostare una versione GKE specifica quando crei un cluster utilizzando gcloud CLI. L'impostazione della versione del cluster è utile solo se hai un requisito di versione specifico. Per impostare la versione del cluster, specifica il --cluster-version flag nel gcloud container clusters create-auto comando. La versione specificata deve essere una versione GKE disponibile.

Le seguenti istruzioni per impostare il canale di rilascio e la versione sono facoltative. A meno che tu non abbia bisogno di una versione GKE specifica, ti consigliamo di mantenere l'impostazione predefinita del canale di rilascio.

gcloud

Esegui questo comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --release-channel=RELEASE_CHANNEL

Sostituisci RELEASE_CHANNEL con il nome del canale di rilascio per il cluster. Il valore predefinito è Regular.

(Facoltativo) Specifica --cluster-version=CLUSTER_VERSION, sostituendo CLUSTER_VERSION con la versione GKE per il cluster, ad esempio 1.29.4-gke.1043002. La versione specificata si applica finché una versione più recente non diventa la versione predefinita nel canale di rilascio. GKE esegue automaticamente l'upgrade del cluster alla nuova versione predefinita. Se ometti questo flag, GKE imposta la versione sulla versione predefinita del canale di rilascio.

Per controllare le versioni disponibili, consulta Quali versioni sono disponibili in un canale?. Puoi eseguire qualsiasi versione secondaria nel canale selezionato o scegliere un sottoinsieme di versioni patch da altri canali.

Console

Per impostare il canale di rilascio quando crei un cluster Autopilot:

  1. Nella Cloud de Confiance console, vai alla pagina Crea un cluster Autopilot.

    Vai a Crea un cluster Autopilot

  2. Nella sezione Impostazioni di base del cluster, completa quanto segue:

    1. Specifica un Nome.
    2. Seleziona una Regione.
  3. Nella sezione Impostazioni avanzate, scegli un canale di rilascio.

  4. (Facoltativo) Configura altre impostazioni per il nuovo cluster.

  5. Fai clic su Crea.

Terraform

Per impostare il canale di rilascio e la versione del cluster quando crei un cluster Autopilot utilizzando Terraform, consulta il seguente esempio:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-release-channel"
  location = "us-central1"

  enable_autopilot = true

  release_channel {
    channel = "REGULAR"
  }
}

Per scoprire di più sull'utilizzo di Terraform, consulta Supporto di Terraform per GKE.

Puoi anche modificare il canale di rilascio e la versione GKE per i cluster esistenti. Per le istruzioni, consulta Eseguire l'upgrade manuale di un control plane e Selezionare un nuovo canale di rilascio.

Connettiti al cluster

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Questo comando configura kubectl per utilizzare il cluster che hai creato.

Console

  1. Nell'elenco dei cluster, accanto al cluster a cui vuoi connetterti, fai clic su Azioni e poi fai clic su Connetti.

  2. Quando ti viene richiesto, fai clic su Esegui in Cloud Shell. Il comando generato viene copiato in Cloud Shell, ad esempio:

    gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
    
  3. Premi Invio per eseguire il comando.

Verifica la modalità del cluster

Puoi verificare che il cluster sia un cluster Autopilot utilizzando la gcloud CLI o la Cloud de Confiance console.

gcloud

Per verificare che il cluster sia stato creato in modalità Autopilot, esegui questo comando:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION

L'output contiene quanto segue:

autopilot:
  enabled: true

Console

Per verificare che il cluster sia stato creato in modalità Autopilot:

  1. Vai alla pagina Google Kubernetes Engine nella Cloud de Confiance console.

    Vai a Google Kubernetes Engine

  2. Trova il cluster nell'elenco dei cluster. In Modalità, dovrebbe essere visualizzato Autopilot.

Passaggi successivi