Sequenzare l'implementazione degli upgrade dei cluster


Questa pagina mostra come gestire gli upgrade dei cluster GKE utilizzando la sequenza di implementazione. Per scoprire di più, consulta Informazioni sugli upgrade dei cluster con sequenza di implementazione.

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à, installa e poi inizializza gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.

Ruoli obbligatori

Configurare una sequenza di implementazione

Questo documento spiega come creare una sequenza di implementazione utilizzando gruppi di cluster organizzati in base a parchi risorse o ambiti di team. In questo documento il termine gruppo si riferisce sia ai parchi risorse sia agli ambiti dei team, perché puoi creare una sequenza di implementazione organizzata con entrambi i metodi di raggruppamento.

Puoi creare una sequenza di massimo tre gruppi di cluster e scegliere la durata del test di stabilità che vuoi eseguire dopo il completamento degli upgrade dei cluster in un gruppo (massimo 30 giorni). Puoi includere sia i cluster Autopilot che quelli standard.

Per creare una sequenza di implementazione, i cluster devono essere organizzati in gruppi di parchi risorse o ambiti di team. Per indicazioni su come organizzare i cluster, consulta l'esempio della banca della comunità. Una volta organizzati in gruppi, puoi creare una sequenza di implementazione definendo le relazioni con i gruppi upstream e il tempo di attesa di ciascun gruppo. In una sequenza di implementazione, il termine upstream fa riferimento al gruppo precedente e il termine downstream al gruppo successivo.

Organizzare i cluster in gruppi

In una sequenza di implementazione, tutti i cluster di tutti i gruppi devono essere registrati nello stesso canale di rilascio e avere la stessa versione secondaria. Se questi requisiti non vengono soddisfatti e ci sono discrepanze tra le versioni dei cluster, possono verificarsi problemi con l'implementazione della versione. Per ulteriori informazioni, consulta la sezione Idoneità al rollout.

Puoi creare sequenze di implementazione tra parchi risorse o tra ambiti del team di un team (anteprima).

Come spiegato nella sezione Informazioni sugli upgrade dei cluster con sequenza di implementazione, gli ambiti dei team sono un costrutto a livello di parco risorse aziendale per associare sottoinsiemi di cluster del parco risorse a team di applicazioni specifici. Per utilizzare gli ambiti di gruppo, devi abilitare GKE Enterprise. Quando utilizzi o crei ambiti di gruppo per l'implementazione sequenziale, si applicano le seguenti limitazioni:

  • Le sequenze basate su team richiedono cluster monoutente: in altre parole, ogni singolo cluster è associato a un solo team. I cluster condivisi (supportati nella gestione del team del parco risorse in generale) non sono supportati per il sequenziamento dell'implementazione.

  • Ogni ambito del team deve trovarsi in un parco diverso per creare una sequenza di implementazione tra di loro. La creazione di una sequenza di implementazione tra diversi ambiti del team all'interno dello stesso parco risorse non è supportata.

Se hai già organizzato i tuoi cluster in gruppi, puoi saltare i passaggi seguenti e andare a Creare una sequenza di implementazione.

Parchi risorse

Per creare una sequenza di implementazione basata su parchi risorse, devi prima raggruppare i cluster in parchi risorse. Puoi organizzare i cluster in base agli ambienti di implementazione, ad esempio test, gestione temporanea e produzione, come mostrato nell'esempio di sequenza di implementazione basata su parchi risorse.

Registra ogni cluster in un parco risorse in base al raggruppamento scelto.

Team

Per creare una sequenza di implementazione basata sul team, devi raggruppare i cluster in ambiti di team. Per farlo, organizza prima i cluster in parchi risorse in base agli ambienti di implementazione, ad esempio Test, Gestione temporanea e Produzione, come mostrato nell'esempio di sequenza di implementazione basata sull'ambito. Poi puoi suddividere ulteriormente i cluster in ambiti per i cluster di team diversi.

  1. Per ogni cluster della sequenza, registralo in un parco risorse. Il cluster deve essere registrato nel parco risorse del progetto in cui creerai l'ambito del team per questo cluster. Se vuoi registrare un cluster a un parco risorse in un progetto host diverso, assicurati di aver impostato le autorizzazioni necessarie per la registrazione tra progetti.
  2. Crea 2-3 ambiti di gruppo per organizzare i cluster. Crea ogni ambito nel progetto host del rispettivo parco risorse del team. In una sequenza di implementazione puoi avere fino a tre ambiti di gruppo.

    Per un elenco completo dei flag, consulta il riferimento per gcloud container fleet scopes create. Con il comando create, puoi utilizzare i flag nelle istruzioni per creare una sequenza di implementazione.

  3. Aggiungi ogni cluster a un ambito.

Crea una sequenza di implementazione

Una sequenza di implementazione è organizzata come un elenco collegato con un massimo di tre elementi.

Quando crei una sequenza di implementazione, devi impostare le seguenti proprietà per ogni gruppo di cluster, un ambito del parco risorse o del team:

  • Gruppo upstream: l'ambito del parco risorse o del team upstream, che qualifica le nuove versioni per il gruppo downstream. Non devi impostare un gruppo upstream per il primo gruppo di una sequenza.
  • Tempo di sospensione: il tempo di sospensione per un gruppo è il periodo che intercorre tra il completamento degli upgrade (o sono trascorsi 30 giorni dall'inizio dell'implementazione) e il momento in cui è possibile iniziare gli upgrade sul gruppo downstream. Per scoprire di più, consulta Come funziona la convalida della versione in una sequenza di implementazione.

Parchi risorse - gcloud

Le istruzioni riportate di seguito utilizzano il comando gcloud container fleet clusterupgrade update, ma puoi impostare le stesse proprietà con il comando gcloud container fleet clusterupgrade create.

Per ciascuno dei seguenti comandi, sostituisci SOAK_TIME con il tempo di attesa del parco risorse che stai aggiornando.

Crea una sequenza di implementazione:

  1. Imposta il tempo di soak per il primo parco risorse nella sequenza:

    gcloud container fleet clusterupgrade update \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_FLEET_PROJECT_ID
    

    Sostituisci FIRST_FLEET_PROJECT_ID con l'ID del progetto del progetto host del parco risorse.

  2. Imposta il parco risorse upstream e il tempo di soak per il secondo parco risorse della sequenza:

    gcloud container fleet clusterupgrade update \
        --upstream-fleet=FIRST_FLEET_PROJECT_ID \
        --default-upgrade-soaking=SOAK_TIME \
        --project=SECOND_FLEET_PROJECT_ID
    

    Sostituisci FIRST_FLEET_PROJECT_ID con l'ID progetto del progetto host del primo parco risorse e SECOND_FLEET_PROJECT_ID con l'ID progetto del progetto host del parco risorse.

  3. (Facoltativo) Se vuoi avere tre parchi risorse in una sequenza di implementazione, imposta il parco risorse a monte per il terzo parco risorse nella sequenza:

    gcloud container fleet clusterupgrade update \
        --upstream-fleet=SECOND_FLEET_PROJECT_ID \
        --default-upgrade-soaking=SOAK_TIME \
        --project=THIRD_FLEET_PROJECT_ID
    

    Sostituisci SECOND_FLEET_PROJECT_ID con l'ID progetto del progetto host del secondo parco risorse e THIRD_FLEET_PROJECT_ID con l'ID progetto del progetto host del parco risorse.

Parchi risorse - console

  1. Vai alla pagina Sequenzialità di implementazione nella console Google Cloud.

    Vai a Sequenza di implementazione

  2. Fai clic su Crea sequenza di implementazione.

  3. Nel riquadro Crea una sequenza di implementazione, seleziona i primi due parchi nella sequenza:

    1. Nella sezione Parco risorse 1, seleziona il primo parco risorse nella sequenza.
    2. Nella sezione Tempo di attesa per il parco risorse a monte, imposta il tempo di attesa per il primo parco risorse utilizzando i campi Giorni, Ore e Minuti.
    3. Nella sezione Parco risorse 2, seleziona il secondo parco risorse nella sequenza.
    4. Fai clic su Crea.
  4. (Facoltativo) Se vuoi avere tre parchi in questa sequenza di implementazione, svolgi i seguenti passaggi aggiuntivi:

    1. Nel grafico di implementazione, fai clic sull'elemento relativo al secondo parco.
    2. Fai clic su Aggiungi parco risorse downstream.
    3. Nella sezione Tempo di soak per il parco risorse upstream, imposta il tempo di soak per il secondo parco risorse utilizzando i campi Giorni, Ore e Minuti.
    4. Nella sezione Parco risorse successivo nella sequenza, seleziona il terzo parco risorse nella sequenza.
    5. Fai clic su Salva.

Parchi risorse - Terraform

Questa sezione mostra come creare una sequenza basata su un parco utilizzando Terraform. Puoi anche utilizzare questa risorsa per aggiornare la sequenza. Per saperne di più, consulta la documentazione di riferimento per google_gke_hub_feature.

Per ciascuno dei comandi seguenti, sostituisci SOAK_TIME con il tempo di attesa del parco risorse che stai aggiornando.

Crea una sequenza di implementazione:

  1. Aggiungi il seguente blocco alla configurazione di Terraform per impostare il tempo di assorbimento per il primo parco risorse della sequenza:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = []
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "FIRST_FLEET_PROJECT_ID"
    }
    

    Sostituisci FIRST_FLEET_PROJECT_ID con l'ID del progetto del progetto host del parco risorse.

  2. Aggiungi il seguente blocco alla configurazione di Terraform per impostare il fleet upstream e il tempo di attesa per il secondo fleet nella sequenza:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = ["FIRST_FLEET_PROJECT_ID"]
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "SECOND_FLEET_PROJECT_ID"
    }
    

    Sostituisci FIRST_FLEET_PROJECT_ID con l'ID progetto del progetto host del primo parco risorse e SECOND_FLEET_PROJECT_ID con l'ID progetto del progetto host del parco risorse.

  3. (Facoltativo) Se vuoi avere tre parchi in una sequenza di implementazione, aggiungi il seguente blocco alla configurazione Terraform per impostare il parco di origine per il parco nella sequenza:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = ["SECOND_FLEET_PROJECT_ID"]
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "THIRD_FLEET_PROJECT_ID"
    }
    

    Sostituisci SECOND_FLEET_PROJECT_ID con l'ID progetto del progetto host del secondo parco e THIRD_FLEET_PROJECT_ID con l'ID progetto del progetto host del parco.

Teams - gcloud

Puoi impostare queste proprietà quando crei o aggiorni l'ambito di un team. Le seguenti istruzioni utilizzano il comando gcloud container fleet scopes update, ma puoi impostare le stesse proprietà quando crei un ambito di gruppo con il comando gcloud container fleet scopes create.

Per ciascuno di questi comandi, sostituisci quanto segue:

  • Le variabili con il nome dell'ambito del team o l'ID del progetto di hosting del parco veicoli dell'ambito del team.
  • Il SOAK_TIME con il tempo di attesa per l'ambito del team che stai aggiornando.

Crea una sequenza di implementazione:

  1. Imposta il tempo di attesa per il primo ambito della sequenza:

    gcloud container fleet scopes update projects/FIRST_SCOPE_PROJECT_ID/locations/global/scopes/FIRST_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_SCOPE_PROJECT_ID
    
  2. Imposta l'ambito a monte e il tempo di attesa per il secondo ambito della sequenza:

    gcloud container fleet scopes update projects/SECOND_SCOPE_PROJECT_ID/locations/global/scopes/SECOND_SCOPE_NAME \
        --upstream-scope=projects/FIRST_SCOPE_PROJECT_ID/locations/global/scopes/FIRST_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=SECOND_SCOPE_PROJECT_ID
    
  3. (Facoltativo) Se vuoi avere tre ambiti di gruppo in una sequenza di implementazione, imposta l'ambito a monte per il terzo ambito nella sequenza:

    gcloud container fleet scopes update projects/THIRD_SCOPE_PROJECT_ID/locations/global/scopes/THIRD_SCOPE_NAME \
        --upstream-scope=projects/SECOND_SCOPE_PROJECT/locations/global/scopes/SECOND_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=THIRD_SCOPE_PROJECT_ID
    

Controllare lo stato di una sequenza di implementazione

Puoi controllare lo stato di una sequenza di implementazione con uno dei seguenti metodi:

Monitorare una sequenza di implementazione nella console Google Cloud

  1. Vai alla pagina Sequenzialità di implementazione nella console Google Cloud.

    Vai a Sequenza di implementazione

  2. Visualizza la sequenza nella sezione Monitora la sequenza di implementazione. Se non vedi una sequenza di implementazione, passa a un'altra sequenza di implementazione o creane una, se non l'hai ancora fatto.

Come utilizzare la console per monitorare una sequenza di implementazione

In questa pagina puoi visualizzare la sequenza di implementazione associata al fleet del tuo progetto. Per visualizzare l'avanzamento di una sequenza di implementazione:

  • Visualizza l'intera sequenza di implementazione o gli stati dei singoli parchi risorse e dei cluster al loro interno, nonché il tempo di attesa tra i parchi risorse. Puoi anche visualizzare la sequenza in cui non è attivo alcun upgrade se vuoi controllare la configurazione della sequenza.
  • Filtra per tipo di upgrade (upgrade del piano di controllo o del nodo) e versione specifica (ad esempio 1.31.6-gke.500).

Puoi monitorare visivamente l'intera sequenza di implementazione mentre GKE esegue l'upgrade di tutti i cluster della sequenza, qualificando una nuova versione in tutti gli ambienti prima di eseguire l'upgrade dei cluster dell'ambiente di produzione. Durante il monitoraggio, puoi gestire una sequenza di implementazione con gcloud CLI, apportando le modifiche necessarie.

Passare a una sequenza di implementazione diversa

Questa pagina mostra la sequenza di implementazione basata sul parco risorse se il progetto attivo nella console Google Cloud è un progetto host del parco risorse per un parco risorse registrato in una sequenza di implementazione.

Se vuoi visualizzare una sequenza di implementazione diversa, seleziona un progetto host del parco risorse associato a una sequenza di implementazione diversa dal selettore di progetti nella parte superiore della pagina.

Utilizza gcloud CLI

Utilizza questi comandi nelle sezioni seguenti per controllare l'avanzamento degli upgrade in una sequenza di implementazione. Per scoprire di più sui dettagli forniti, consulta Informazioni sullo stato per una sequenza di implementazione

Per eseguire questi comandi, assicurati di disporre delle autorizzazioni necessarie per ogni progetto host del parco risorse. Ad esempio, se la sequenza ha ambiti tra progetti in parchi risorse diversi, devi disporre delle autorizzazioni in ogni progetto per descriverla.

Per i comandi che seguono, se hai bisogno di informazioni su un solo parco o ambito nella sequenza, sostituisci il flag --show-linked-cluster-upgrade con --show-cluster-upgrade.

Parchi risorse

Controlla lo stato di una sequenza di implementazione basata sul parco:

gcloud container fleet clusterupgrade describe \
    --show-linked-cluster-upgrade --project=FLEET_PROJECT_ID

Sostituisci FLEET_PROJECT_ID con l'ID del progetto ospitante per qualsiasi parco risorse nella sequenza.

Consulta la documentazione di riferimento gcloud container fleet clusterupgrade describe per un elenco completo dei flag.

Team

Controlla lo stato di una sequenza di implementazione basata sul team:

gcloud container fleet scopes describe SCOPE_NAME \
    --show-linked-cluster-upgrade
    --project=SCOPE_PROJECT_ID

Sostituisci SCOPE_NAME con il nome di qualsiasi ambito del team nella sequenza di implementazione e SCOPE_PROJECT_ID con l'ID progetto di questo ambito del team.

Per un elenco completo dei flag, consulta la documentazione di riferimento di gcloud container fleet scopes describe.

Per visualizzare lo stato dei singoli cluster all'interno di un ambito di parco risorse o team, esegui il seguente comando nel progetto host del parco risorse e consulta la sezione membershipStates:

gcloud container fleet features describe clusterupgrade

Informazioni sullo stato di una sequenza di implementazione

Quando controlli lo stato dell'implementazione di una versione, puoi vedere l'avanzamento di ciascun gruppo e cluster al suo interno.

Consulta la tabella seguente per i potenziali stati di un cluster o di un gruppo:

Stato Per un singolo cluster Per un gruppo (ambito del parco o del team)
NON IDONEO Questo cluster non è idoneo per questo upgrade Uno o più cluster in questo gruppo non sono idonei per questo upgrade.
IN ATTESA L'upgrade non è stato avviato o è in corso per il cluster. L'upgrade non è stato avviato su nessuno dei cluster del gruppo.
IN_PROGRESS N/D L'upgrade è iniziato su almeno un cluster, ma non è stato completato su tutti i cluster.
SOAKING L'upgrade è stato completato sul cluster e non è stato completato il tempo di attesa. L'upgrade è stato completato su tutti i cluster e non è stato completato il tempo di attesa.
FORCED_SOAKING L'upgrade ha richiesto più del tempo massimo di upgrade (30 giorni) e quindi abbiamo forzato l'ingresso nella fase di attesa. L'upgrade può comunque continuare nel cluster. L'upgrade ha richiesto più del tempo massimo di upgrade (30 giorni) e quindi abbiamo forzato l'ingresso nella fase di attesa. L'upgrade può comunque continuare nei cluster.
COMPLETA L'upgrade viene considerato "completato", il che significa che è terminata la fase di attesa su questo cluster. L'upgrade viene considerato "completato" e pronto per essere utilizzato dal gruppo downstream, il che significa che il tempo di sospensione è terminato.

Nell'output di questi comandi, gli attributiclusterUpgrade(s).spec e clusterUpgrade(s).state contengono informazioni aggiuntive sull'upgrade del cluster, ad esempio il tempo di attesa, le sostituzioni dell'upgrade del cluster e lo stato dell'upgrade.

Gestisci una sequenza di implementazione

Puoi controllare gli upgrade automatici dei cluster con la sequenza di implementazione in diversi modi, come spiegato nelle sezioni seguenti.

Modificare il tempo di attesa per un gruppo

Puoi modificare il tempo di attesa predefinito per un gruppo o per un upgrade a una versione specifica. Il periodo di tempo massimo è di 30 giorni.

Aggiornare il tempo di soak predefinito

Puoi aggiornare il tempo di attesa predefinito nella console Google Cloud (solo per la versione Preview e la sequenza di implementazione basata sul parco risorse) o con la gcloud CLI.

gcloud

Per modificare il tempo di attesa predefinito per un gruppo, utilizza i comandi gcloud CLI riportati nelle istruzioni per creare una sequenza di implementazione, omettendo i flag per impostare il gruppo di upstream.

Parchi risorse - console

  1. Vai alla pagina Sequenzialità di implementazione nella console Google Cloud.

    Vai a Sequenza di implementazione

  2. Visualizza la sequenza nella sezione Monitora la sequenza di implementazione. Se non vedi una sequenza di implementazione, passa a un'altra sequenza di implementazione o creane una, se non l'hai ancora fatto.

  3. Nel Grafico di implementazione, fai clic sull'elemento Tempo di attesa dopo l'elemento del parco in cui vuoi aggiornare il tempo di attesa.

  4. Fai clic su Modifica tempo di soak.

  5. Nella sezione Imposta un nuovo tempo di immersione, inserisci un nuovo tempo di immersione utilizzando i campi Giorni, Ore e Minuti.

  6. Per salvare le impostazioni, fai clic su Salva.

Sostituire il tempo di soak predefinito

Puoi modificare il tempo di attesa per l'implementazione di una versione specifica in modo che sia diverso da quello predefinito per il gruppo. Ad esempio, se hai già qualificato una nuova versione e vuoi che gli upgrade inizino nel gruppo successivo, puoi impostare il tempo di soak su zero. Puoi utilizzarla anche se hai bisogno di più tempo rispetto al tempo di attesa predefinito per convalidare una versione specifica.

Poiché il tempo di attesa è impostato in base al gruppo, se vuoi sostituire il tempo di attesa per altri gruppi in questa sequenza, aggiornali utilizzando lo stesso comando sostituendo il nome del parco o dell'ambito, a seconda del tipo di sequenza.

Per le istruzioni riportate in questa sezione, sostituisci le seguenti variabili:

  • SOAK_TIME: il tempo di attesa da utilizzare diverso da quello predefinito (ad esempio, "0d" se vuoi saltare il tempo di attesa per l'implementazione di una versione).
  • UPGRADE_NAME: il tipo di upgrade, k8s_control_plane per gli upgrade del piano di controllo o k8s_node per gli upgrade dei nodi.
  • VERSION: la versione GKE in cui vuoi eseguire il override del tempo di attesa predefinito dopo che la versione (ad esempio 1.25.2-gke.400) è stata implementata in questo gruppo.

Parchi risorse - gcloud

Esegui questo comando nel progetto host del parco risorse in cui vuoi eseguire l'override del tempo di attesa utilizzato per l'implementazione di una versione specifica.

Modificare il tempo di soak di un parco risorse:

gcloud container fleet clusterupgrade update
    --add-upgrade-soaking-override=SOAK_TIME \
    --upgrade-selector=name=UPGRADE_NAME,version=VERSION

Parchi risorse - Terraform

Aggiungi il seguente blocco gke_upgrades_overrides alla configurazione Terraform all'interno del blocco clusterupgrade per sostituire il tempo di attesa utilizzato per il rollout di una versione specifica:

gke_upgrade_overrides {
    upgrade {
      name = "UPGRADE_NAME"
      version = "VERSION"
    }
    post_conditions {
      soaking = "SOAK_TIME"
    }
  }

Teams - gcloud

Esegui questo comando nel progetto host del parco risorse dell'ambito del team. Sostituisci SCOPE_NAME con il nome dell'ambito del team per cui vuoi eseguire l'override del tempo di attesa utilizzato per l'implementazione di una versione specifica.

Modificare il tempo di attesa di un ambito di gruppo:

gcloud container fleet scopes update SCOPE_NAME \
    --add-upgrade-soaking-override=SOAK_TIME \
    --upgrade-selector=name=UPGRADE_NAME,version=VERSION

Aggiornare i gruppi in una sequenza di implementazione

Puoi aggiornare una sequenza di implementazione esistente per aggiungere, rimuovere o modificare l'ordine degli annunci nella sequenza. Per apportare queste modifiche, aggiorna le associazioni tra i gruppi.

Puoi eseguire questi passaggi nella console Google Cloud (solo Anteprima, sequence di implementazione basata sul parco risorse) o con gcloud CLI.

Parchi risorse - gcloud

Utilizza il comando gcloud container fleet clusterupgrade update con il --upstream-fleet flag per aggiungere o modificare i pool a monte. Utilizza il flag --reset-upstream-fleet per rimuovere un parco in upstream.

Puoi eseguire azioni come:

  • Aggiungi un altro parco risorse all'inizio della sequenza di implementazione aggiungendo un parco risorse upstream al primo parco risorse della sequenza.
  • Modifica l'ordine dei parchi risorse nella sequenza di implementazione modificando le associazioni dei parchi risorse a monte.
  • Rimuovi il primo parco risorse nella sequenza di implementazione rimuovendo il parco risorse di upstream del secondo parco risorse.

Parchi risorse - console

  1. Vai alla pagina Sequenzialità di implementazione nella console Google Cloud.

    Vai a Sequenza di implementazione

  2. Visualizza la sequenza nella sezione Monitora la sequenza di implementazione. Se non vedi una sequenza di implementazione, passa a un'altra sequenza di implementazione o creane una, se non l'hai ancora fatto.

  3. Nel Grafico di implementazione, fai clic sugli elementi dei parchi esistenti nella sequenza. Dopo aver fatto clic su questi elementi, puoi eseguire alcune delle seguenti azioni per apportare le modifiche:

    • Fai clic su Aggiungi parco risorse downstream.
    • Fai clic su Aggiungi parco risorse upstream.
    • Fai clic su Rimuovi parco risorse.

Puoi eseguire azioni come:

  • Aggiungi un altro parco risorse alla fine della sequenza di implementazione aggiungendo un parco risorse downstream all'ultimo parco risorse della sequenza.
  • Aggiungi un altro parco risorse all'inizio della sequenza di implementazione aggiungendo un parco risorse upstream al primo parco risorse della sequenza.
  • Modifica l'ordine dei parchi risorse nella sequenza di implementazione rimuovendoli, poi aggiungili di nuovo con un parco risorse a monte o a valle diverso.
  • Rimuovi il primo parco risorse nella sequenza di implementazione.
  • Rimuovi l'ultimo parco risorse nella sequenza di implementazione.
  • Rimuovi il parco risorse intermedio nella sequenza di implementazione dopo aver rimosso il primo o l'ultimo parco risorse nella sequenza.

Teams - gcloud

Utilizza il comando gcloud container fleet scopes update con il --upstream-scope flag per aggiungere o modificare gli ambiti dei team a monte. Utilizza il --reset-upstream-scope flag per rimuovere un ambito di gruppo a monte.

Puoi eseguire azioni come:

  • Aggiungi un altro ambito del team all'inizio della sequenza di implementazione aggiungendo un ambito del team precedente al primo ambito del team nella sequenza.
  • Modifica l'ordine degli ambiti di gruppo nella sequenza di implementazione modificando le associazioni degli ambiti di gruppo a monte.
  • Rimuovi il primo ambito del team nella sequenza di implementazione rimuovendo l'ambito del team upstream del secondo ambito del team.

Ritarda il completamento dell'implementazione della versione del gruppo

Se devi impedire temporaneamente a un gruppo di completare l'implementazione di una nuova versione nei suoi cluster, puoi aggiungere un'esclusione per la manutenzione a uno dei cluster per i quali non è stato eseguito l'upgrade alla versione di destinazione. In questo modo, un gruppo può essere messo in pausa e non passare al tempo di attesa o al gruppo downstream per un massimo di 30 giorni. Dopo 30 giorni, il gruppo inizierà il periodo di attesa.

Puoi anche modificare il tempo di attesa per il gruppo impostandolo su 30 giorni per massimizzare il tempo di attesa della sequenza di implementazione prima di passare al gruppo successivo.

Se devi posticipare ulteriormente l'inizio degli upgrade per il gruppo successivo, puoi utilizzare le esclusioni per la manutenzione per i cluster del gruppo successivo.

Passare da una sequenza di implementazione basata sul parco risorse a una basata sul team e viceversa

Puoi passare da sequenze basate sul parco risorse a sequenze basate sul team o viceversa. Le istruzioni presuppongono che tu stia trasferendo da una sequenza all'altra organizzata come quelle illustrate nei diagrammi di esempio.

Parchi risorse ai team

Per passare da una sequenza di implementazione basata sul parco risorse a una basata sul team, segui questi passaggi:

  1. Configura le esclusioni per la manutenzione per tutti i cluster di ogni parco risorse per evitare eventuali upgrade mentre modifichi la configurazione.
  2. Assicurati di aver abilitato GKE Enterprise nei progetti di hosting del parco risorse.
  3. In ogni parco risorse, crea uno o più ambiti del team per suddividere il gruppo di cluster in quel parco risorse.
  4. Crea una o più sequenze di implementazione tra gli ambiti dei team corrispondenti in ogni parco risorse.
  5. Aggiungi i tuoi cluster ai nuovi ambiti del team.
  6. Rimuovi le esclusioni dalla manutenzione che hai configurato per questa modifica.

Team ai parchi risorse

Per modificare i cluster da una sequenza di implementazione basata sul team a una sequenza di implementazione basata sul parco risorse:

  1. Configura le esclusioni per la manutenzione per tutti i cluster in ogni parco risorse per evitare eventuali upgrade durante la modifica della configurazione.
  2. Crea una sequenza di implementazione tra i parchi risorse.
  3. Rimuovi i cluster dagli ambiti dei team. Ora questi cluster sono registrati solo ai rispettivi parchi risorse del loro ambito, a cui hai eseguito l'accesso in una sequenza di implementazione nel passaggio precedente.
  4. Elimina gli ambiti del team.
  5. Rimuovi le esclusioni dalla manutenzione che hai configurato per questa modifica.

Eliminare una sequenza

Per eliminare una sequenza, rimuovi le associazioni upstream per il secondo e il terzo gruppo (se la sequenza di implementazione ha tre gruppi).

Puoi eseguire questi passaggi nella console Google Cloud (solo Anteprima, sequence di implementazione basata sul parco risorse) o con gcloud CLI.

Parchi risorse - gcloud

Esegui il seguente comando nel progetto host del secondo e del terzo gruppo nella sequenza di implementazione:

gcloud container fleet clusterupgrade update --reset-upstream-fleet

Parchi risorse - console

  1. Vai alla pagina Sequenzialità di implementazione nella console Google Cloud.

    Vai a Sequenza di implementazione

  2. Visualizza la sequenza nella sezione Monitora la sequenza di implementazione. Se non vedi una sequenza di implementazione, passa a un'altra sequenza di implementazione o creane una, se non l'hai ancora fatto.

  3. Nel grafico di implementazione, fai clic sull'elemento relativo al terzo parco.

  4. Fai clic su Rimuovi parco risorse.

  5. Per rimuovere la flotta, fai clic su Rimuovi.

  6. Ripeti i tre passaggi precedenti per la seconda flotta.

Teams - gcloud

Esegui il seguente comando nel progetto host del parco risorse degli ambiti del secondo e del terzo team nella sequenza di implementazione:

gcloud container fleet scopes update SCOPE_NAME --reset-upstream-scope

Sostituisci SCOPE_NAME con i nomi del secondo e del terzo ambito, rispettivamente.

Risoluzione dei problemi

Risolvere i problemi di idoneità all'implementazione

Se tutti i cluster di una sequenza di implementazione non hanno lo stesso target di upgrade, GKE potrebbe non essere in grado di procedere con gli upgrade dei cluster. Gli upgrade automatici non possono procedere se un gruppo upstream non qualifica un target di upgrade da passare al gruppo downstream. Gli upgrade automatici non possono procedere anche se i cluster nel gruppo upstream qualificano un target di upgrade non valido per i cluster nel gruppo downstream.

Per verificare se la sequenza di implementazione presenta problemi di idoneità all'implementazione, controlla lo stato della sequenza di implementazione. Se un gruppo non è idoneo, segui le istruzioni per visualizzare lo stato dei singoli cluster in un gruppo.

Per avanzare immediatamente gli upgrade dei cluster, rimuovi tutti i cluster con stato INELIGIBLE seguendo le istruzioni per Avanzare le implementazioni parzialmente idonee.

Correggere l'idoneità in un gruppo

In un gruppo, se un cluster non è idoneo perché è in una versione precedente (ad esempio, la maggior parte dei cluster del gruppo sta eseguendo l'upgrade da 1.23 a 1.24 e un cluster è in versione 1.22), puoi eseguire manualmente l'upgrade del cluster alla versione 1.24 per risolvere la discrepanza di versione.

In un gruppo, se un cluster non è idoneo perché è in una versione successiva (ad esempio, la maggior parte dei cluster del gruppo sta eseguendo l'upgrade da 1.23 a 1.24 e un cluster è in versione 1.25), non puoi eseguire manualmente il downgrade del cluster per risolvere la discrepanza di versione e devi rimuoverlo.

Correggere l'idoneità tra i gruppi

Tra i gruppi, se esiste una mancata corrispondenza nei target di upgrade in cui il gruppo downstream è in una versione più recente (ad esempio, il gruppo upstream è stato sottoposto a upgrade da 1.23 a 1.24 e i cluster del gruppo downstream sono in 1.25), puoi eseguire manualmente l'upgrade dei cluster del gruppo upstream alla versione 1.25 per assicurarti che gli upgrade procedono.

Tra i gruppi, se esiste una mancata corrispondenza nei target di upgrade in cui il gruppo downstream è in una versione precedente (ad esempio, il gruppo upstream è stato sottoposto ad upgrade da 1.24 a 1.25 e i cluster del gruppo downstream sono in 1.23), puoi eseguire manualmente l'upgrade dei cluster del gruppo downstream a 1.24 o 1.25 per assicurarti che gli upgrade procedano.

Implementazioni avanzate parzialmente idonee

Se gli upgrade dei cluster in un gruppo non vengono completati a causa di problemi di idoneità al rollout (ad esempio discrepanze nelle versioni all'interno di un gruppo), puoi rimuovere i cluster non idonei per il target di upgrade del gruppo per completare l'implementazione della versione e iniziare il tempo di attesa o passare al gruppo successivo nella sequenza di implementazione. Puoi rimuovere un cluster da un gruppo anche per altri motivi, ad esempio se l'utilizzo di questo cluster non è più correlato agli altri cluster del gruppo.

Segui le istruzioni per annullare la registrazione di un cluster da un parco risorse o rimuovere i cluster dagli ambiti dei team, a seconda del tipo di sequenza di implementazione.

Dopo aver rimosso tutti i cluster che impediscono il completamento del rollout della versione di un gruppo, il rollout della versione del gruppo verrà completato. Conferma questo seguendo le istruzioni per controllare lo stato dell'implementazione di una versione.

Passaggi successivi