Questa pagina mostra come creare un cluster di zona Standard, con le funzionalità predefinite abilitate, in Google Kubernetes Engine (GKE). I cluster zonali hanno una singola istanza del control plane in una singola zona. A seconda dei requisiti di disponibilità, puoi scegliere di distribuire i nodi del cluster zonale in una singola zona o in più zone.
Questa pagina è rivolta a operatori, architetti cloud e sviluppatori che devono creare e configurare cluster ed eseguire il deployment dei carichi di lavoro su GKE. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti, consulta Ruoli e attività comuni degli utenti di GKE Enterprise. Google Cloud
Prima di leggere questa pagina, assicurati di conoscere le scelte di configurazione del 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
.
- Assicurati di disporre delle autorizzazioni corrette per creare cluster. Come minimo, devi disporre del ruolo Amministratore cluster Kubernetes Engine.
- Se vuoi registrare il nuovo cluster in un parco risorse, assicurati di disporre delle API e delle autorizzazioni necessarie.
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
- Vai alla pagina Benvenuto:
- Nel campo Numero progetto, fai clic su 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.com
PROJECT_NUMBER
con il numero di progetto che hai copiato. - Nel menu Seleziona un ruolo, seleziona il ruolo Kubernetes Engine Default Node Service Account.
- Fai clic su Salva.
gcloud
- 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
- 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.
Creazione di un cluster di zona
Le informazioni minime che devi specificare quando crei un nuovo cluster zonale sono un nome, un progetto (di solito quello corrente) e una zona (di solito la posizione predefinita per gli strumenti a riga di comando), utilizzando le impostazioni predefinite per tutti gli altri valori. Tuttavia, esistono altre impostazioni di configurazione possibili, solo alcune delle quali sono descritte in questa sezione e 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 possibili opzioni nelle guide di riferimento di gcloud container clusters create
e Terraform google_container_cluster
.
Puoi creare un cluster di zona utilizzando gcloud CLI, la consoleGoogle Cloud o Terraform.
Se sviluppi applicazioni GKE con Cloud Code per VS Code, prova a creare cluster con Cloud Code.
gcloud
Per creare un cluster zonale con gcloud CLI, utilizza uno dei seguenti comandi.
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster.CHANNEL
: il tipo di canale di rilascio, che può essererapid
,regular
,stable
oNone
. Per impostazione predefinita, il cluster è registrato nel canale di rilascioregular
, a meno che non sia specificato almeno uno dei seguenti flag:--cluster-version
,--release-channel
,--no-enable-autoupgrade
e--no-enable-autorepair
.CONTROL_PLANE_LOCATION
: la zona di Compute Engine del control plane del tuo cluster.VERSION
: la versione che vuoi specificare per il tuo cluster.COMPUTE_ZONE,COMPUTE_ZONE1,[...]
: le zone in cui vengono creati i nodi. Puoi specificare tutte le zone necessarie per il tuo cluster. Tutte le zone devono trovarsi nella stessa regione del control plane del cluster, specificata dal flag--location
. Per i cluster zonali,--node-locations
deve contenere la zona principale del cluster.
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.
Utilizzo di un canale di rilascio specifico:
Per creare un nuovo cluster utilizzando un canale di rilascio specifico, esegui il seguente comando:
gcloud container clusters create CLUSTER_NAME \ --release-channel CHANNEL \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
Utilizzo di una versione specifica:
Per creare un nuovo cluster utilizzando una versione specifica del cluster, esegui il seguente comando:
gcloud container clusters create CLUSTER_NAME \ --cluster-version VERSION \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
Utilizzo della versione predefinita per i cluster non registrati in un canale di rilascio:
Per creare un nuovo cluster utilizzando la versione predefinita per i cluster non registrati
in un canale di rilascio, non devi specificare una versione del cluster, ma devi
impostare il canale di rilascio su None
:
gcloud container clusters create CLUSTER_NAME \ --release-channel None \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
Esempio
Il comando seguente crea un cluster multizonale denominato example-cluster
,
in cui il piano di controllo del cluster si trova nella zona us-central-a
e
sono presenti tre posizioni dei nodi. Il cluster è registrato nel canale di rilascio regular
.
Quando il flag --num-nodes
viene omesso, il numero predefinito di nodi per zona creati dal cluster
è tre. Poiché sono state specificate tre zone, questo comando crea un cluster di nove nodi con tre nodi ciascuno in us-central1-a
, us-central1-b
e us-central1-c
.
gcloud container clusters create example-cluster \ --location us-central1-a \ --node-locations us-central1-a,us-central1-b,us-central1-c
Console
Per creare un cluster zonale con la console Google Cloud , esegui le seguenti attività:
Nella console Google Cloud , vai alla pagina Crea un cluster Kubernetes.
Nella sezione Impostazioni di base del cluster, completa quanto segue:
- Inserisci il nome del cluster.
- Per il tipo di località, seleziona A livello di zona, quindi seleziona la zona per il tuo cluster.
- 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.
Scegli un canale di rilascio. Se vuoi, puoi selezionare Nessun canale dall'elenco a discesa, tuttavia ti consigliamo di esaminare il confronto tra i cluster registrati e non registrati a un canale di rilascio prima di scegliere questa opzione. GKE esegue automaticamente l'upgrade dei cluster non presenti in un canale di rilascio con versioni del canale stabile.
(Facoltativo) Specifica una versione del control plane dall'elenco a discesa Versione.
(Facoltativo) Configura altre impostazioni per il nuovo cluster.
(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
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 del 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 le route firewall).
- (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.
Nel riquadro di navigazione, in Pool di nodi, fai clic su Nodi.
Dall'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 prospetto dei prezzi dei tipi di macchine.Dall'elenco 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 tuoi 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, vedi Utilizzare un service account con privilegio minimo minimi.
Fai clic su Crea.
Terraform
Per creare un cluster di zona con un pool di nodi a zona singola utilizzando Terraform, fai riferimento al seguente esempio:
Per creare un cluster di zona con un pool di nodi multizona utilizzando Terraform, fai riferimento al seguente esempio:
Per scoprire di più sull'utilizzo di Terraform, consulta Supporto di Terraform per GKE.
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.
Modelli di cluster
In precedenza GKE supportava i modelli per i cluster. Questi modelli sono stati rimossi dalla console Google Cloud , ma sono ancora accessibili dai seguenti link:
Passaggi successivi
- Scopri di più sulle scelte di configurazione dei cluster che puoi creare.
- Scopri di più sull'architettura dei cluster GKE.
- Scopri di più sulla gestione dei cluster.
- Scopri come eliminare i cluster.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di GKE in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti senza addebiti per l'esecuzione, il test e il deployment dei workload.
Prova GKE gratuitamente