I cluster alpha sono cluster Google Kubernetes Engine (GKE) di breve durata che abilitano le API e le funzionalità alpha di Kubernetes e possono eseguire versioni alpha delle versioni secondarie imminenti. Questo documento mostra come creare un cluster alpha, abilitare o disabilitare gate di funzionalità specifici ed eseguire versioni di patch alpha nel canale di rilascio rapido. I cluster alpha sono destinati ai primi utenti e agli amministratori delle piattaforme che vogliono sperimentare le versioni e le funzionalità di Kubernetes in arrivo.
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 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 updatecomando. Le versioni precedenti di gcloud CLI potrebbero non supportare l'esecuzione dei comandi in questo documento.
- Esamina le limitazioni dei cluster alpha.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare e interagire con i cluster alpha,
chiedi all'amministratore di concederti ilruolo IAM Amministratore di cluster Kubernetes Engine (roles/container.clusterAdmin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
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
- Vai alla pagina Benvenuto:
- Nel campo Numero progetto, fai clic Copia negli appunti.
- Vai alla pagina IAM:
- Fai clic su Concedi l'accesso.
- Nel campo Nuove entità, specifica il seguente valore:
SostituisciPROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERcon il numero del progetto che hai copiato. - Nel menu Seleziona un ruolo, seleziona il Kubernetes Engine Default Node Service Account ruolo.
- Fai clic su Salva.
gcloud
- Trova il Google Cloud numerodel progetto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Sostituisci
PROJECT_IDcon l'ID progetto.L'output è simile al seguente:
12345678901
- Concedi il ruolo
roles/container.defaultNodeServiceAccountal 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_NUMBERcon il numero del progetto dal passaggio precedente.
Creare un cluster alpha
Puoi creare un cluster alpha utilizzando la Google Cloud console o la gcloud CLI. Ti consigliamo di utilizzare gcloud CLI per i seguenti motivi:
- Puoi registrare il cluster nel canale di rilascio rapido, che è consigliato per i cluster alpha.
Puoi specificare i gate di funzionalità alpha o beta da abilitare o disabilitare in modo diverso dai valori predefiniti.
Console
Nella Google Cloud console, vai alla pagina Crea un cluster Kubernetes.
Nella sezione Impostazioni di base del cluster, completa quanto segue:
- Inserisci il Nome del cluster.
- In Tipo di località, seleziona A livello di zona, quindi seleziona la zona per il cluster.
- Se stai creando un cluster multizona, seleziona la casella di controllo Specifica le località dei nodi predefinite, quindi scegli altre zone in cui vuoi che vengano eseguiti i pool di nodi.
Nell'elenco a discesa Canale di rilascio, seleziona Nessun canale (deprecato).
(Facoltativo) Specifica una versione del piano di controllo dall'elenco a discesa Versione.
(Facoltativo) Configura altre impostazioni per il nuovo cluster.
(Facoltativo) Se vuoi registrare il nuovo cluster in un parco risorse, vai alla sezione Registrazione del parco risorse e segui le Google Cloud istruzioni della console in Creare e registrare un nuovo cluster per completare la registrazione del cluster.
Nel riquadro di navigazione, in Pool di nodi, fai clic su default-pool.
Nella sezione Dettagli del pool di nodi, completa quanto segue:
- Inserisci un Nome per il pool di nodi predefinito.
- (Facoltativo) Scegli la Versione nodo.
- 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 route firewall).
- (Facoltativo) Puoi scegliere di disabilitare gli upgrade automatici dei nodi, ma ti consigliamo di esaminare le considerazioni prima di disabilitare gli upgrade automatici dei nodi prima di scegliere questa opzione.
- Deseleziona Abilita upgrade automatico e Abilita riparazione automatica.
Nel riquadro di navigazione, in Pool di nodi, fai clic su Nodi.
Nell'elenco a discesa Tipo di immagine, seleziona l'immagine del nodo.
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 foglio dei prezzi dei tipi di macchine.Nell'elesso a discesa Tipo di disco di avvio, seleziona il tipo di disco.
Inserisci la Dimensione del disco di avvio.
(Facoltativo) Nel riquadro di navigazione, in Pool di nodi, fai clic su Sicurezza.
- (Facoltativo) Specifica un account di servizio IAM personalizzato per i nodi:
- Nella pagina Impostazioni avanzate, espandi la sezione Sicurezza.
- 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.
Nel riquadro di navigazione, in Cluster, fai clic su Funzionalità.
Fai clic su Abilita le funzionalità alpha di Kubernetes in questo cluster.
Leggi e riconosci l'avviso selezionando Comprendo le conseguenze.
Fai clic su Crea.
gcloud
Esegui questo comando:
gcloud container clusters create CLUSTER_NAME \
--release-channel=CHANNEL \
--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.CHANNEL: il tipo di canale di rilascio. Questo valore deve essere uno dei seguenti:rapid: registra il cluster nel canale di rilascio rapido, consigliato per i cluster alpha.regular: registra il cluster nel canale di rilascio regolare.stable: registra il cluster nel canale di rilascio stabile.none: non registrare il cluster in un canale di rilascio. Questa opzione è deprecata e verrà rimossa.
CONTROL_PLANE_LOCATION: la località di Compute Engine del piano di controllo 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 di patch predefinita per la creazione del cluster per il canale di rilascio selezionato, come mostrato nella tabella Versioni attuali.FEATURE_GATES_LIST: l'elenco dei gate di funzionalità da abilitare o disabilitare in modo diverso dai valori predefiniti. Ogni stringa rappresenta l'abilitazione o la disabilitazione di un gate di funzionalità. 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 gate di funzionalità 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ù sui gate di funzionalità disponibili con versioni specifiche e sulle funzionalità beta abilitate per impostazione predefinita, consulta Gate di funzionalità per funzionalità alpha o beta nella documentazione di Kubernetes. Se includi questo flag, modifichi i gate di funzionalità abilitati rispetto a quelli impostati per impostazione predefinita da GKE. Per saperne di più, consulta Gate di funzionalità 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, 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.iam.gserviceaccount.comSostituisci SERVICE_ACCOUNT_NAME con il nome del service account con privilegi minimi.
Ti viene chiesto di riconoscere un avviso che indica che il cluster alpha non viene sottoposto ad 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 di funzionalità per un cluster alpha
Con i cluster alpha, puoi abilitare o disabilitare selettivamente i gate di funzionalità. Per saperne di più, consulta Gate di funzionalità e cluster alpha.
Per controllare lo stato del gate di funzionalità per il cluster, consulta Controllare lo stato del gate di funzionalità.
Eseguire versioni di patch alpha nei cluster alpha
I cluster alpha registrati nel canale di rilascio rapido possono eseguire versioni di patch alpha delle versioni secondarie di Kubernetes in arrivo. Queste versioni alpha forniscono un accesso anticipato per testare funzionalità e modifiche nella versione secondaria successiva prima che GKE renda disponibile la versione secondaria per tutti i cluster nel canale rapido.
Per identificare ed eseguire versioni di patch alpha nei cluster alpha:
Identifica le versioni alpha disponibili nel canale rapido:
gcloud container get-server-config \ --flatten="channels" --filter="channels.channel=RAPID" \ --location=LOCATION \ --format="yaml(channels.channel,channels.previewVersions)"Sostituisci
LOCATIONcon la regione in cui prevedi di creare il cluster alpha, ad esempious-central1.L'output è simile al seguente:
channels: channel: RAPID previewVersions: - 1.37.0-gke.1173000+previewSe l'output è vuoto, le versioni alpha non sono disponibili in quella regione. Prova con un'altra regione o controlla le note di rilascio del canale rapido per informazioni sulla versione.
Crea il cluster alpha:
gcloud container clusters create CLUSTER_NAME \ --release-channel=rapid \ --enable-kubernetes-alpha \ --no-enable-autorepair \ --no-enable-autoupgrade \ --location=CONTROL_PLANE_LOCATION \ --cluster-version=ALPHA_VERSIONSostituisci quanto segue:
CLUSTER_NAME: un nome per il cluster alpha.CONTROL_PLANE_LOCATION: la regione o la zona del piano di controllo del cluster. Utilizza la stessa regione in cui hai verificato la disponibilità della versione alpha nel passaggio precedente o una zona in quella regione.ALPHA_VERSION: la versione di patch alpha specifica da eseguire nel cluster, dall'output del passaggio precedente.
Controllare quando scade un cluster alpha
Per controllare quando scadono i cluster alpha, esegui questo comando:
gcloud container clusters list
Risolvere i problemi relativi alla creazione di un cluster alpha con i gate di funzionalità
Se tenti di creare un cluster con un gate di funzionalità non valido o un gate di funzionalità non supportato per la versione di Kubernetes del cluster, il cluster può essere creato in uno stato di errore.
Puoi trovare un messaggio simile al seguente in Cloud Logging:
failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME
Se riscontri questo errore, elimina il cluster non riuscito. Controlla l'ortografia e la compatibilità dei gate di funzionalità con la versione di Kubernetes specificata. Quindi, prova a creare di nuovo il cluster.
Passaggi successivi
- Scopri di più sui tipi di cluster che puoi creare.
- Scopri come gestire i cluster.
- Scopri come eliminare i cluster.