Cessazione e sostituzione dei nodi di lavoro

Scopri come arrestare e sostituire un nodo di lavoro in un cluster Kubernetes creato utilizzando Kubernetes Engine (OKE).

Nota

È possibile eseguire il ciclo dei nodi solo per terminare e sostituire i nodi di lavoro quando si utilizzano cluster avanzati. Vedere Utilizzo di cluster e cluster di base avanzati.

È possibile eseguire il ciclo dei nodi per terminare e sostituire i nodi con forme di virtual machine e Bare Metal.

È possibile eseguire il ciclo dei nodi per terminare e sostituire i nodi gestiti.

A volte, l'interruzione e la sostituzione dei nodi gestiti è il modo migliore per risolvere un problema con le istanze di computazione che ospitano i nodi. In particolare, dove un problema può essere risolto semplicemente terminando un'istanza esistente e sostituendola con una nuova istanza che ha le stesse proprietà o che ha proprietà diverse derivate dalle proprietà del pool di nodi modificate (ad esempio un sistema operativo host modificato o una forma di computazione modificata). Ad esempio:

  • Per risolvere qualsiasi deviazione della configurazione che potrebbe essersi verificata dopo l'avvio iniziale dell'istanza.
  • Per risolvere eventuali errori hardware di base.

Utilizzando Kubernetes Engine, puoi arrestare e sostituire le istanze di computazione che ospitano nodi gestiti nei modi seguenti:

  • È possibile eseguire il ciclo del pool di nodi contenente i nodi gestiti e selezionare l'opzione Sostituisci nodi, come descritto in questa sezione.
  • È possibile eseguire il ciclo e sostituire nodi gestiti specifici, come descritto in questa sezione.
  • È possibile eliminare un nodo gestito specifico. Se non si indica che si desidera eseguire lo scale down del pool di nodi, il nodo eliminato viene sostituito con un nuovo nodo (vedere Eliminazione dei nodi di lavoro).

Quando esegui il ciclo, interrompi e sostituisci un nodo gestito, Kubernetes Engine collega automaticamente il nodo di lavoro e lo scarica prima di terminarlo. L'istanza di computazione che ospita il nodo gestito viene arrestata e viene creata una nuova istanza. Tenere presente che la nuova istanza ha un nuovo OCID e un nuovo indirizzo di rete.

Se si esegue il ciclo di tutti i nodi gestiti in un pool di nodi per arrestarli e sostituirli, quando le nuove istanze hanno uno stato In esecuzione, qualsiasi aggiornamento delle proprietà del pool di nodi viene applicato a tutti i nodi di lavoro nel pool di nodi. Tenere presente che se si esegue il ciclo di un singolo nodo gestito per interromperlo e sostituirlo, qualsiasi aggiornamento delle proprietà del pool di nodi viene applicato al nodo di sostituzione.

Oltre a consentire di eseguire la manutenzione ordinaria dei nodi di lavoro, l'interruzione e la sostituzione dei nodi gestiti possono essere utili anche quando si desidera:

Tenere presenti le considerazioni riportate di seguito quando si esegue il ciclo per terminare e sostituire i nodi di lavoro.

  • È possibile selezionare un pool di nodi gestiti per eseguire il ciclo, terminare e sostituire tutti i nodi gestiti al suo interno. È inoltre possibile eseguire il ciclo, terminare e sostituire singoli nodi gestiti.
  • Non è possibile eseguire il ciclo dei nodi autogestiti per terminarli e sostituirli.

Bilanciamento della disponibilità e dei costi del servizio durante l'interruzione e la sostituzione dei nodi gestiti nei pool di nodi

Quando si esegue il ciclo di tutti i nodi gestiti in un pool di nodi per arrestarli e sostituirli, Kubernetes Engine utilizza le impostazioni Cordon e drenaggio specificate per il pool di nodi e segue due strategie:

  • Creare nuovi nodi (aggiuntivi), quindi rimuovere i nodi esistenti: Kubernetes Engine aggiunge un nodo o nodi aggiuntivi al pool di nodi con proprietà aggiornate. Quando il nodo aggiuntivo è attivo, Kubernetes Engine collega un nodo esistente, scarica il nodo e rimuove il nodo dal pool di nodi. Questa strategia mantiene la disponibilità del servizio, ma costa di più.
  • Rimuovere i nodi esistenti e quindi creare nuovi nodi: Kubernetes Engine collega un nodo o nodi esistenti per renderlo non disponibile, drena il nodo e rimuove il nodo dal pool di nodi. Quando il nodo viene rimosso, Kubernetes Engine aggiunge un nuovo nodo al pool di nodi per sostituire il nodo che è stato rimosso. Questa strategia costa meno, ma potrebbe compromettere la disponibilità del servizio.

Per personalizzare il comportamento del motore Kubernetes in modo da soddisfare i tuoi requisiti in termini di disponibilità e costi del servizio, controlla e bilancia le due strategie specificando i valori per maxSurge e maxUnavailable. Per ulteriori informazioni, vedere Bilanciamento della disponibilità e dei costi del servizio durante il ciclo dei nodi gestiti nei pool di nodi.

Cordonatura e drenaggio durante la chiusura e la sostituzione dei nodi

Quando selezioni un pool di nodi e specifichi che desideri terminare e sostituire i relativi nodi di lavoro, Kubernetes Engine collega, scarica e termina automaticamente i nodi gestiti esistenti. Kubernetes Engine utilizza le opzioni Cordon e drenaggio specificate per il pool di nodi.

Quando si seleziona un singolo nodo gestito e si specifica che si desidera terminarlo e sostituirlo, è possibile specificare le opzioni Cordon e drenaggio. Le opzioni Cordon e rimozione specificate per il nodo gestito sostituiscono le opzioni Cordon e rimozione specificate per il pool di nodi.

Per ulteriori informazioni, vedere Registrazione e rimozione dei nodi gestiti prima dello spegnimento o della cessazione

Cessazione e sostituzione dei nodi di lavoro

  • Per arrestare e sostituire tutti i nodi di lavoro in un pool di nodi gestiti:

    1. Nella pagina della lista Cluster selezionare il nome del cluster contenente i nodi di lavoro che si desidera terminare e sostituire. Se è necessaria assistenza per trovare la pagina della lista o il cluster, vedere Elenca cluster.
    2. Selezionare la scheda Pool di nodi, quindi selezionare il nome del pool di nodi contenente i nodi di lavoro che si desidera arrestare e sostituire.
    3. Selezionare Modifica dal menu Azioni e modificare una proprietà non utilizzata del pool di nodi, ad esempio specificando un'etichetta Kubernetes con una chiave foo e un valore bar.

      Si noti che la proprietà che si modifica è irrilevante, ma è necessario modificare almeno una proprietà.

    4. Nel menu Azioni, selezionare Nodi ciclo.

      Consigliato: sfrutta i budget di interruzione dei pod in base alle esigenze della tua applicazione per garantire un numero sufficiente di pod di replica in esecuzione durante l'operazione. Per ulteriori informazioni, vedere Specifica di un budget per interruzioni per l'applicazione nella documentazione di Kubernetes.

    5. Nella finestra di dialogo Nodi di ciclo:

      1. Selezionare Sostituisci nodi dalla lista Opzioni di ciclo.
      2. Controlla il numero di nodi da aggiornare in parallelo e bilancia la disponibilità e il costo del servizio specificando:
        • Superamento massimo di richieste (numero minimo o percentuale di nodi aggiuntivi): il numero massimo di nodi aggiuntivi da consentire temporaneamente nel pool di nodi durante l'operazione (espresso come numero intero o percentuale). I nodi aggiuntivi sono nodi superiori o superiori al numero specificato nella proprietà Node count del pool di nodi. Se si specifica un numero intero per il numero di nodi aggiuntivi, non specificare un numero maggiore del valore di Conteggio nodi.
        • Massimo non disponibile (numero massimo o percentuale di nodi non disponibili): il numero massimo di nodi che consentono di non essere disponibili nel pool di nodi durante l'operazione (espresso come numero intero o come percentuale). Se si specifica un numero intero per il numero di nodi non disponibili, non specificare un numero maggiore del valore di Conteggio nodi.

        Consulta la sezione relativa alla disponibilità e ai costi del servizio di bilanciamento durante l'interruzione e la sostituzione dei nodi gestiti nei pool di nodi.

      3. Selezionare Nodi di ciclo per avviare l'operazione.

      Kubernetes Engine utilizza le opzioni Cordon e drenaggio specificate per il pool di nodi per collegare e rimuovere i nodi di lavoro. Per ulteriori informazioni, vedere Registrazione e rimozione dei nodi gestiti prima dello spegnimento o della cessazione.

    6. Monitorare l'avanzamento dell'operazione visualizzando lo stato della richiesta di lavoro associata nella scheda Richieste di lavoro (vedere Recupero dei dettagli di una richiesta di lavoro).

    Per arrestare e sostituire un nodo gestito specifico:

    1. Nella pagina della lista Cluster selezionare il nome del cluster contenente il nodo di lavoro che si desidera riavviare. Se è necessaria assistenza per trovare la pagina della lista o il cluster, vedere Elenca cluster.
    2. Selezionare la scheda Pool di nodi, quindi selezionare il nome del pool di nodi contenente il nodo di lavoro che si desidera arrestare e sostituire.
    3. Nella scheda Nodi selezionare Nodo ciclo dal menu Azioni (tre punti) accanto al nodo che si desidera terminare e sostituire.

    4. Nella finestra di dialogo Nodo ciclo:
      1. Selezionare Sostituisci nodo dalla lista Opzioni di ciclo.
      2. Specificare quando e come collegare e rimuovere il nodo di lavoro prima di eseguire l'azione Termina e sostituisci specificando:

        • Periodo di tolleranza rimozione (min): il periodo di tempo necessario per consentire il collegamento e l'estrazione del nodo di lavoro prima di eseguire l'azione. Accettare il valore predefinito (60 minuti, ovvero il massimo) oppure specificare un'alternativa. Ad esempio, è possibile consentire 30 minuti per collegare un nodo di lavoro ed eliminarlo dai relativi carichi di lavoro. Per eseguire l'azione immediatamente, senza cordonare e svuotare il nodo di lavoro, specificare 0 minuti.
        • Forza cessazione dopo il periodo di tolleranza: indica se terminare i nodi di lavoro alla fine del periodo di tolleranza di rimozione, anche se non sono stati collegati e scaricati correttamente. Per impostazione predefinita, questa opzione non è selezionata.

        Vedere Cordonizzazione e rimozione dei nodi gestiti prima dell'arresto o della cessazione.

      3. Selezionare Nodo ciclo per avviare l'operazione.
    5. Monitorare l'avanzamento dell'operazione visualizzando lo stato della richiesta di lavoro associata nella scheda Richieste di lavoro (vedere Recupero dei dettagli di una richiesta di lavoro).

  • Per arrestare e sostituire tutti i nodi di lavoro in un pool di nodi gestiti

    Per arrestare e sostituire tutti i nodi di lavoro in un pool di nodi gestiti, utilizzare il comando oci ce node-pool update e i parametri richiesti:

    oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"INSTANCE_REPLACE\"],\"maximumUnavailable\":<value>,\"maximumSurge\":<value>}" --<property-to-update> <new-value> [OPTIONS]

    dove --<property-to-update> <new-value> è un nuovo valore per una proprietà del pool di nodi. Si noti che la proprietà che si modifica è irrilevante, ma è necessario modificare almeno una proprietà. Si noti inoltre che l'inclusione di \"cycleModes\":[\"INSTANCE_REPLACE\"] nel parametro --node-pool-cycling-details è facoltativa, poiché viene presunta se non inclusa in modo esplicito.

    Ad esempio:

    oci ce node-pool update --node-pool-id ocid1.nodepool.oc1.iad.aaaaaaa______eya --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"maximumUnavailable\":1,\"maximumSurge\":1}" --initial-node-labels '[{"key": "foo", "value": "bar"}]'

    Per arrestare e sostituire un nodo gestito specifico

    Per arrestare e sostituire un nodo gestito specifico, utilizzare il comando oci ce node-pool delete-node e i parametri necessari per eliminare un nodo e includere --is-decrement-size false per specificare che non si desidera eseguire lo scale down del pool di nodi:

    oci ce node-pool delete-node --node-pool-id <node-pool-ocid> --node-id <node-ocid> --is-decrement-size false [OPTIONS]
  • Per arrestare e sostituire tutti i nodi di lavoro in un pool di nodi gestiti utilizzando l'API OCI, effettuare le operazioni riportate di seguito.

    Eseguire l'operazione UpdateNodePool per arrestare e sostituire tutti i nodi di lavoro in un pool di nodi gestiti.

    Per arrestare e sostituire un nodo gestito specifico utilizzando l'API OCI, effettuare le operazioni riportate di seguito.

    Eseguire l'operazione DeleteNode per arrestare e sostituire un nodo gestito specifico utilizzando l'API OCI.