Ridimensionamento di un cluster utente

Il ridimensionamento di un cluster utente comporta l'aggiunta o la rimozione di nodi. L'aggiunta di nodi richiede che siano disponibili indirizzi IP per i nuovi nodi. Ridimensiona un cluster utente modificando il numero di repliche nelpool di nodil.

Per informazioni sui limiti massimi e minimi per i cluster utente, consulta Limiti di scalabilità.

Per informazioni sulla gestione dei node pool, consulta la pagina Creazione e gestione dei node pool.

Verifica che siano disponibili indirizzi IP sufficienti

Se intendi avere N nodi dopo il ridimensionamento, devi avere a disposizione N + 1 indirizzi IP.

Prima di ridimensionare un cluster, verifica di avere indirizzi IP sufficienti. La modalità di esecuzione della verifica dipende dal fatto che il cluster utilizzi un server DHCP o indirizzi IP statici.

DHCP

Se il cluster utilizza DHCP, verifica che il server DHCP possa fornire indirizzi IP sufficienti. Deve essere in grado di fornire almeno un indirizzo IP in più rispetto al numero di nodi che saranno presenti nel cluster dopo il ridimensionamento.

IP statici

Il modo in cui verifichi di avere un numero sufficiente di indirizzi IP statici dipende dal fatto che il cluster sia registrato o meno nell'API GKE On-Prem. Un cluster utente è registrato nell'API GKE On-Prem se si verifica una delle seguenti condizioni:

  • Il cluster è stato creato utilizzando la console Google Cloud , Google Cloud CLI (gcloud CLI) o Terraform, che registra automaticamente il cluster nell'API GKE On-Prem. Nel complesso, queste applicazioni standard sono chiamate client API GKE On-Prem.

  • Il comando gkectl enroll cluster è stato eseguito su un cluster utente, che lo configura per essere gestito dall'API GKE On-Prem.

Se l'API GKE On-Prem gestisce un cluster utente, utilizza la console per conteggiare il numero di IP e aggiungerne altri, se necessario. Se il cluster utente non è gestito dall'API GKE On-Prem, puoi eseguire gkectl update cluster, che verifica se hai allocato un numero sufficiente di indirizzi IP nel cluster. In caso contrario, puoi trovare il numero di indirizzi IP aggiuntivi necessari nel messaggio di errore.

Aggiungere IP statici

Se il cluster è gestito dall'API GKE On-Prem, utilizza la console per aggiungere altri indirizzi IP. In caso contrario, utilizza la riga di comando sulla workstation di amministrazione.

Console

  1. Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.

    Vai ai cluster GKE

  2. Seleziona il Google Cloud progetto in cui si trova il cluster utente.

  3. Nell'elenco dei cluster, fai clic sul nome del cluster, poi su Più dettagli nel riquadro Dettagli.

  4. Nella sezione Networking, fai clic su Modifica.

  5. Nella finestra di dialogo Aggiungi indirizzi IP statici aggiuntivi, fai clic su Aggiungi indirizzo IP. Inserisci l'indirizzo IP e, facoltativamente, un nome host. Ripeti queste operazioni in base alle necessità. Al termine, fai clic su Fine.

Riga di comando

  1. Apri il file di blocco IP del cluster utente per la modifica.

  2. Verifica che tutti gli indirizzi IP che intendi utilizzare per il cluster utente siano inclusi nel file del blocco IP. Il file del blocco IP deve contenere almeno un indirizzo IP in più rispetto al numero di nodi che saranno presenti nel cluster dopo il ridimensionamento.

  3. Per visualizzare gli indirizzi riservati a un cluster di utenti:

    kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml

    Sostituisci quanto segue:

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione
    • USER_CLUSTER_NAME: il nome del cluster utenti
  4. Aggiungi tutti gli indirizzi IP statici aggiuntivi necessari al blocco corrispondente, quindi esegui gkectl update cluster.

Ecco un esempio di file di blocco IP con quattro indirizzi IP e i nomi host corrispondenti:

hostconfig:
dns: 172.16.255.1
tod: 216.239.35.0
blocks:
- netmask: 255.255.248.0
  gateway: 21.0.135.254
  ips:
  - ip: 21.0.133.41
    hostname: user-node-1
  - ip: 21.0.133.50
    hostname: user-node-2
  - ip: 21.0.133.56
    hostname: user-node-3
  - ip: 21.0.133.47
    hostname: user-node-4

Ridimensionare il cluster

Console

  1. Nella console, vai alla pagina Panoramica dei cluster Google Kubernetes Engine.

    Vai ai cluster GKE

  2. Seleziona il Google Cloud progetto in cui si trova il cluster utente.

  3. Nell'elenco dei cluster, fai clic sul nome del cluster, poi su Più dettagli nel riquadro Dettagli.

  4. Fai clic sulla scheda Nodi.

  5. Fai clic sul nome del pool di nodi che vuoi ridimensionare.

  6. Fai clic su Ridimensiona.

  7. Nel campo Nodi, inserisci il numero di nodi che vuoi nel pool di nodi, quindi fai clic su Fine.

  8. Fai clic su per tornare alla pagina precedente.

  9. La console mostra Stato cluster: modifiche in corso. Fai clic su Mostra dettagli per visualizzare la condizione Stato risorsa e i messaggi di stato.

Riga di comando

Nel file di configurazione del cluster utente, aggiorna il valore del campo replicas in uno o più elementi nodePools.

Ridimensiona il cluster:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Sostituisci quanto segue:

  • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione

  • USER_CLUSTER_CONFIG: il percorso del file di configurazione del cluster utente

Verifica che il ridimensionamento sia riuscito:

  • Se il cluster avanzato non è abilitato:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes
    
    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas
  • Se è abilitato il cluster avanzato

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes
    
    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe nodepoolclaim -n USER_CLUSTER_NAMESPACE NODE_POOL_NAME | grep "Node Count"

Sostituisci quanto segue:

  • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione

  • USER_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster utente

  • NODE_POOL_NAME: il nome del pool di nodi di cui hai modificato le dimensioni.

  • USER_CLUSTER_NAMESPACE: lo spazio dei nomi del cluster utente di cui hai modificato le dimensioni.

Risoluzione dei problemi

Consulta la sezione Risoluzione dei problemi relativi alla creazione e all'upgrade dei cluster.