Creazione di un cluster alpha


Questa pagina mostra come creare un cluster alpha di Google Kubernetes Engine (GKE), ovvero un cluster GKE con API e funzionalità alpha di Kubernetes abilitate. Con un cluster alpha, tutti i feature gate alpha disponibili con la versione di Kubernetes sono abilitati per impostazione predefinita. Vengono abilitati anche i gate di funzionalità beta che Kubernetes abilita per impostazione predefinita. Puoi modificare le impostazioni predefinite di GKE per abilitare i gate delle funzionalità. Per ulteriori informazioni sui gate di funzionalità disponibili con versioni specifiche e su quali funzionalità beta sono attivate per impostazione predefinita, consulta Gate di funzionalità per le funzionalità alpha o beta nella documentazione di Kubernetes.

Per saperne di più su come funzionano i cluster GKE e su come scegliere il tipo di cluster GKE da creare, consulta Architettura dei cluster GKE e Informazioni sulle scelte di configurazione dei cluster.

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.

Configura 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 nodo devono avere il ruolo Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) sul tuo progetto. Per impostazione predefinita, GKE utilizza l'account di servizio predefinito di Compute Engine, che viene creato automaticamente nel tuo progetto, come service account del nodo.

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

console

  1. Vai alla pagina Benvenuto:

    Vai a Benvenuto

  2. Nel campo Numero progetto, fai clic su 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.gserviceaccount.com
    Sostituisci PROJECT_NUMBER con il numero di progetto che hai copiato.
  6. Nel menu Seleziona un ruolo, seleziona il ruolo Kubernetes Engine Default Node Service Account.
  7. Fai clic su Salva.

gcloud

  1. Trova il numero del tuo progetto Google Cloud :
    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 all'account di servizio predefinito di Compute Engine:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Sostituisci PROJECT_NUMBER con il numero di progetto del passaggio precedente.

Crea un cluster alpha

Puoi creare un cluster alpha utilizzando la console Google Cloud o gcloud CLI. Per creare un cluster che specifichi i feature gate da abilitare o disabilitare in modo diverso dai valori predefiniti, utilizza gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Crea un cluster Kubernetes.

    Vai a Crea un cluster Kubernetes

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

    1. Inserisci il nome del cluster.
    2. Per il tipo di località, seleziona A livello di zona, quindi seleziona la zona per il tuo cluster.
    3. Se stai creando un cluster multizona, seleziona la casella di controllo Specifica le posizioni predefinite dei nodi e poi scegli altre zone in cui vuoi che vengano eseguiti i pool di nodi.
    4. Nell'elenco a discesa Canale di rilascio, seleziona Nessun canale.

    5. (Facoltativo) Specifica una versione del control plane dall'elenco a discesa Versione.

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

  4. (Facoltativo, disponibile con GKE Enterprise) Se vuoi registrare il nuovo cluster in un parco risorse, vai alla sezione Registrazione del parco risorse e segui le istruzioni della console per creare e registrare un nuovo cluster per completare la registrazione del cluster. Google Cloud

  5. Nel riquadro di navigazione, in Pool di nodi, fai clic su default-pool.

  6. Nella sezione Dettagli del pool di nodi, completa quanto segue:

    1. Inserisci un nome per il pool di nodi predefinito.
    2. (Facoltativo) Scegli la versione del nodo.
    3. Inserisci il numero di nodi da creare nel cluster. Devi disporre di una quota di risorse disponibile per i nodi e le relative risorse (ad esempio le route firewall).
    4. (Facoltativo) Puoi scegliere di disattivare gli upgrade automatici dei nodi, ma ti consigliamo di esaminare le considerazioni prima di disattivare gli upgrade automatici dei nodi prima di scegliere questa opzione.
    5. Deseleziona Abilita upgrade automatico e Abilita riparazione automatica.
  7. Nel riquadro di navigazione, in Pool di nodi, fai clic su Nodi.

  8. Dall'elenco a discesa Tipo di immagine, seleziona l'immagine del nodo.

  9. Scegli la configurazione macchina predefinita da utilizzare per le istanze. Ogni tipo di macchina viene fatturato in modo diverso. Il tipo di macchina predefinito è e2-medium. Per informazioni sui prezzi dei tipo di macchina, consulta il prospetto dei prezzi dei tipi di macchine.

  10. Dall'elenco a discesa Tipo di disco di avvio, seleziona il tipo di disco.

  11. Inserisci la Dimensione del disco di avvio.

  12. (Facoltativo) Nel riquadro di navigazione, in Pool di nodi, fai clic su Sicurezza.

  13. (Facoltativo) Specifica un account di servizio IAM personalizzato per i tuoi 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, vedi Utilizzare un service account con privilegio minimo minimi.

  14. Nel riquadro di navigazione, in Cluster, fai clic su Funzionalità.

  15. Fai clic su Abilita le funzionalità alpha di Kubernetes in questo cluster.

  16. Leggi e conferma l'avviso selezionando Ho compreso le conseguenze.

  17. Fai clic su Crea.

gcloud

Esegui questo comando:

gcloud container clusters create CLUSTER_NAME \
    --enable-kubernetes-alpha \
    --no-enable-autorepair \
    --no-enable-autoupgrade \
    --location CONTROL_PLANE_LOCATION [\
    --alpha-cluster-feature-gates FEATURE_GATES_LIST]

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome che scegli per il cluster.
  • CONTROL_PLANE_LOCATION: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.
  • --cluster-version VERSION: (facoltativo) specifica la versione di GKE da eseguire nel cluster. Se omesso, il cluster esegue la versione patch predefinita per la creazione del cluster per Nessun canale, come mostrato nella tabella Versioni correnti.
  • FEATURE_GATES_LIST: l'elenco dei feature gate da attivare o disattivare in modo diverso dai valori predefiniti. Ogni stringa rappresenta l'attivazione o la disattivazione di un feature gate. Ad esempio, featureX=true, featureY=false. Se ometti questo flag, GKE crea il cluster utilizzando i valori predefiniti per GKE, il che significa che tutti i feature gate alpha disponibili con la versione di Kubernetes sono abilitati. Vengono abilitati anche i gate di funzionalità beta abilitati per impostazione predefinita da Kubernetes. Per saperne di più su quali gate di funzionalità sono disponibili con versioni specifiche e quali funzionalità beta sono attivate per impostazione predefinita, consulta Gate di funzionalità per le funzionalità alpha o beta nella documentazione di Kubernetes. Quando includi questo flag, modifichi i feature gate abilitati rispetto a come sono impostati per impostazione predefinita da GKE. Per saperne di più, vedi Feature gate e cluster alpha.

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, vedi Utilizzare un service account con privilegio minimo minimi.

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

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

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

Ti viene chiesto di confermare un avviso che indica che il cluster alpha non viene eseguito l'upgrade e viene eliminato dopo 30 giorni:

This will create a cluster with Kubernetes alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
  not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.

Interagire con un cluster utilizzando kubectl

Dopo aver creato un cluster, devi configurare kubectl prima di poter interagire con il cluster dalla riga di comando.

Controllare lo stato del gate delle funzionalità per un cluster alpha

Con i cluster alpha, puoi attivare o disattivare selettivamente i feature gate. Per maggiori informazioni, consulta Feature gate e cluster alpha.

Per controllare lo stato del feature gate per il tuo cluster, vedi Controllare lo stato del feature gate.

Controllare quando scade un cluster alpha

Per controllare la scadenza dei cluster alpha, esegui questo comando:

gcloud container clusters list

Risolvere i problemi relativi alla creazione di un cluster alpha con feature gate

Se tenti di creare un cluster con un feature gate non valido o un feature gate non supportato per la versione di Kubernetes del cluster, il cluster può essere creato in stato di errore.

In Cloud Logging puoi trovare un messaggio simile al seguente:

failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME

Se si verifica questo errore, elimina il cluster non riuscito. Controlla l'ortografia e la compatibilità dei feature gate con la versione di Kubernetes specificata. Poi prova a creare di nuovo il cluster.

Passaggi successivi