Questo documento mostra come gestire i cluster in Google Kubernetes Engine (GKE). Per scoprire come funzionano i cluster, consulta Architettura 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.
Visualizza i cluster
gcloud
Per visualizzare un cluster specifico, esegui il comando seguente:
gcloud container clusters describe CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATIONSostituisci quanto segue:
CLUSTER_NAME: il nome del tuo cluster.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.
Per elencare tutti i cluster di un progetto in qualsiasi regione o zona, esegui il comando seguente:
gcloud container clusters listPer elencare i cluster che si trovano nella regione o nella zona specifica, esegui il comando seguente:
gcloud container clusters list \ --location=CONTROL_PLANE_LOCATION
Console
Per visualizzare i cluster, vai alla pagina Google Kubernetes Engine nella Google Cloud console.
Vai a Google Kubernetes Engine
Per visualizzare ulteriori informazioni su un cluster, selezionalo dall'elenco.
Imposta un cluster predefinito per kubectl
Se hai più cluster, puoi impostare un cluster predefinito per lo strumento a riga di comando kubectl.
Per saperne di più, consulta Impostare un cluster predefinito per i comandi kubectl.
Imposta un cluster predefinito per gcloud
Per impostare un cluster predefinito per i comandi gcloud, esegui il comando seguente:
gcloud config set container/cluster CLUSTER_NAME
Sostituisci CLUSTER_NAME con il nome del cluster.
Esegui l'upgrade dei cluster
Per impostazione predefinita, GKE esegue automaticamente l'upgrade dei cluster. Tuttavia, puoi scegliere di eseguire l'upgrade dei cluster Standard autonomamente. Per saperne di più, consulta Eseguire manualmente l'upgrade di un cluster.
Per indicazioni sull'upgrade dei cluster, consulta Best practice per l'upgrade dei cluster.
Aggiungi o rimuovi zone in un cluster Standard
Le sezioni seguenti spiegano come aggiungere o rimuovere le zone dei cluster. Tutte le zone devono trovarsi nella regione del cluster.
Modifica le zone per i cluster zonali
Per i cluster zonali esistenti, puoi aggiungere o rimuovere zone.
gcloud
Per aggiungere o rimuovere zone per un cluster zonale, utilizza il gcloud container
clusters update comando:
gcloud container clusters update CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations COMPUTE_ZONE1,COMPUTE_ZONE2
Sostituisci quanto segue:
CLUSTER_NAME: il nome scelto per il cluster.CONTROL_PLANE_LOCATION: la zona di Compute Engine del piano di controllo del cluster.COMPUTE_ZONE1,COMPUTE_ZONE2,[...]: le zone in cui vengono creati i nodi. Puoi specificare tutte le zone necessarie per il cluster. Tutte le zone devono trovarsi nella stessa regione del control plane del cluster, specificata dal flag--location. Per i cluster zonali,--node-locationsdeve contenere la zona principale del cluster.
Ad esempio, example-cluster viene eseguito in us-central1-a.
Per aggiungere altre due zone al cluster, esegui il comando seguente:
gcloud container clusters update example-cluster \
--location us-central1-a
--node-locations us-central1-a,us-central1-b,us-central1-c
Un altro esempio: example-cluster viene eseguito in us-central1-a, us-central1-b e us-central1-c. Se vuoi che il cluster venga eseguito solo in us-central1-a e us-central1-b, esegui il comando seguente:
gcloud container clusters update example-cluster \
--location us-central1-a \
--node-locations us-central1-a,us-central1-b
Console
Per aggiungere o rimuovere zone in un cluster esistente, segui questi passaggi:
Vai alla pagina Google Kubernetes Engine nella Google Cloud console.
Accanto al cluster che vuoi modificare, fai clic su more_vert Azioni, poi su edit Modifica.
Nella scheda Dettagli, nel campo Zone dei nodi predefinite, fai clic edit Modifica pool di nodi.
Seleziona le zone desiderate e salva le modifiche.
Modifica le zone per i cluster regionali
Al momento, è possibile modificare le zone per i cluster regionali esistenti solo utilizzando il comando gcloud.
Per aggiungere o rimuovere zone per un cluster regionale, utilizza il comando gcloud container
clusters update con il flag --node-locations:
gcloud container clusters update CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations COMPUTE_ZONE1,COMPUTE_ZONE2
Sostituisci quanto segue:
CLUSTER_NAME: il nome del cluster.CONTROL_PLANE_LOCATION: la regione di Compute Engine del piano di controllo del cluster.COMPUTE_ZONE1,COMPUTE_ZONE2,[...]: la regione del piano di controllo delle zone in cui vengono creati i nodi. Le zone devono trovarsi nella stessaCONTROL_PLANE_LOCATIONdei control plane del cluster, specificata dal flag--location.
Ad esempio, example-cluster viene eseguito in us-central1-a e us-central1-b. Per aggiungere us-central1-c, esegui il comando seguente:
gcloud container clusters update example-cluster \
--location us-central1 \
--node-locations us-central1-a,us-central1-b,us-central1-c
Un altro esempio: example-cluster viene eseguito in us-central1-a, us-central1-b e us-central1-c. Se vuoi che il cluster venga eseguito solo in us-central1-a e us-central1-b, esegui il comando seguente:
gcloud container clusters update example-cluster \
--location us-central1 \
--node-locations us-central1-a,us-central1-b
Ridimensiona i cluster
Puoi ridimensionare un cluster Standard per aumentare o diminuire il numero di nodi. Ad esempio, se vuoi impedire al cluster di consumare risorse senza eliminarlo, puoi ridurre i nodi a zero. Per saperne di più sul ridimensionamento, consulta Ridimensionare un cluster.
I cluster Autopilot vengono dimensionati automaticamente in base alle specifiche dei pod, quindi non devi preoccuparti di ridimensionare il cluster. Ad esempio, se modifichi il numero di repliche del pod o le risorse richieste, il cluster verrà ridimensionato di conseguenza.
Se vuoi un modo più efficiente per ottimizzare i cluster, puoi anche utilizzare la scalabilità automatica verticale dei pod (VPA). Il gestore della scalabilità automatica può consigliare valori per le richieste e i limiti di CPU e memoria oppure può aggiornare automaticamente i valori.
Elimina cluster
Se necessario, puoi eliminare un cluster. Per saperne di più, consulta Eliminare un cluster.
Impedisci l'eliminazione dei cluster utilizzando le policy di negazione
Puoi utilizzare le policy di negazione IAM per impedire l'eliminazione di determinati cluster critici, indipendentemente dall'entità che tenta l'eliminazione. Per scegliere come target cluster specifici in una policy di negazione, aggiungi un tag a questi cluster. Poi, utilizza una condizione di negazione per applicare la policy di negazione solo ai cluster che hanno quel tag.
Per proteggere un cluster specifico dall'eliminazione, segui questi passaggi:
Crea e definisci una chiave tag per identificare i cluster protetti. Ad esempio, puoi creare una chiave tag denominata
do_not_delete.Crea una policy di negazione IAM selezionando una delle seguenti opzioni:
Console
Nella Google Cloud console, vai alla scheda Nega nella pagina IAM.
Fai clic su Crea policy di negazione. Viene visualizzata la pagina Crea policy di negazione.
Nel campo ID , specifica un ID univoco e immutabile per la policy di negazione.
Nella sezione Nuova regola di negazione, segui questi passaggi:
Nel campo Entità negate, specifica
principalSet://goog/public:all, che copre qualsiasi entità.Nella sezione Autorizzazioni negate, nell'elenco a discesa Autorizzazione 1, trova e seleziona l'autorizzazione
container.googleapis.com/clusters.delete.Fai clic su Aggiungi condizione di negazione. Viene visualizzato il riquadro Aggiungi condizione di negazione.
Specifica un titolo descrittivo per la condizione, ad esempio
Cluster has the do_not_delete tag.Nella scheda Generatore di condizioni, nell'elenco a discesa Tipo di condizione 1, seleziona Tag.
Nell'elenco a discesa Operatore, seleziona Ha chiave.
Nell'elenco a discesa Percorso chiave, seleziona la chiave tag che hai applicato al cluster, ad esempio
do_not_delete.Fai clic su Salva.
Fai clic su Crea.
gcloud
Crea un file JSON contenente la seguente policy di negazione:
{ "displayName": "Prevent cluster deletion based on tag", "rules": [ { "description": "Prevent cluster deletion based on tag", "deniedPrincipals": [ "principalSet://goog/public:all" ], "deniedPermissions": [ "container.googleapis.com/clusters.delete" ], "denialCondition": { "title": "Cluster has the do_not_delete tag", "expression": "resource.hasTagKey('TAG_KEY_NAME') } } ] }Sostituisci
TAG_KEY_NAMEcon il percorso della chiave tag che hai creato.Crea la policy di negazione utilizzando il
gcloud iam policies createcomando:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies --policy-file=POLICY_FILESostituisci quanto segue:
POLICY_ID: un ID per la policy di negazione.ATTACHMENT_POINT: l'organizzazione, la cartella o il progetto a cui collegare la policy di negazione. Ad esempio, se colleghi la policy di negazione a una cartella, la policy si applica ai cluster di qualsiasi progetto in quella cartella. Per saperne di più, consulta Punto di collegamento.POLICY_FILE: il percorso del file JSON che hai creato nel passaggio precedente.
Dopo aver creato la policy di negazione, nessuno può eliminare un cluster con la chiave tag specificata nella condizione di negazione. Qualsiasi tentativo di eliminare il cluster non riesce e viene visualizzato il messaggio di errore Permission denied. Per consentire l'eliminazione del cluster, devi
scollegare la chiave tag dal cluster.
Aggiungi cluster a un parco risorse
Se la tua organizzazione utilizza più cluster, puoi semplificare la gestione multi-cluster aggiungendo i cluster a un parco risorse: un raggruppamento logico di cluster Kubernetes. La creazione di un parco risorse aiuta la tua organizzazione a migliorare la gestione dai singoli cluster a interi gruppi di cluster e ti consente di utilizzare funzionalità abilitate per il parco risorse come Ingress multi-cluster, Config Sync e Policy Controller.
Puoi aggiungere cluster GKE a un parco risorse utilizzando la Google Cloud console, gcloud CLI o in modo dichiarativo utilizzando Terraform o Config Connector.
Puoi scoprire di più su come funzionano i parchi risorse in Gestione dei parchi risorse e su come creare parchi risorse in Creare parchi risorse per semplificare la gestione multi-cluster.
Passaggi successivi
- Scopri come funzionano i cluster.
- Scopri come aggiungere e gestire i pool di nodi dei cluster.
- Best practice per l'upgrade dei cluster.