Aggiorna i workload stateful

Questo documento spiega come aggiornare i carichi di lavoro con stato esistenti in esecuzione in un cluster Kubernetes air-gapped di Google Distributed Cloud (GDC). Man mano che l'applicazione si evolve in base all'utilizzo delle risorse e alle ottimizzazioni della configurazione, devi aggiornare la specifica del pod sottostante nel cluster Kubernetes per riflettere queste modifiche del carico di lavoro. Per ulteriori informazioni sulla pianificazione degli aggiornamenti per i carichi di lavoro con stato, consulta la documentazione di Kubernetes per le strategie di aggiornamento.

Questo documento è rivolto agli sviluppatori del gruppo di operatori di applicazioni, responsabili dell'aggiornamento dei carichi di lavoro delle applicazioni per la loro organizzazione. Per ulteriori informazioni, consulta la sezione Pubblico per la documentazione GDC con air gap.

Prima di iniziare

Per completare le attività descritte in questo documento, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.

Richiedi ruoli IAM

Devi disporre di ruoli specifici per ottenere le autorizzazioni necessarie per aggiornare i carichi di lavoro con stato. I ruoli richiesti dipendono dal fatto che tu stia lavorando all'interno di un cluster condiviso con ambito organizzativo o di un cluster standard con ambito progetto. Per ulteriori informazioni, consulta la sezione Configurazione dei cluster Kubernetes.

Ruoli del cluster condiviso

Per creare, eliminare, modificare o visualizzare i carichi di lavoro in un cluster condiviso, chiedi all'amministratore IAM del progetto di concederti il ruolo Amministratore dello spazio dei nomi (namespace-admin). Questo ruolo è associato allo spazio dei nomi del progetto.

Ruoli del cluster standard

Per creare, eliminare, modificare o visualizzare i carichi di lavoro in un cluster standard, chiedi all'amministratore IAM del progetto di concederti il ruolo Sviluppatore del cluster (cluster-developer). Questo ruolo è associato allo spazio dei nomi del progetto.

Prepara l'ambiente

Per eseguire comandi su un cluster Kubernetes utilizzando l'API, assicurati di disporre delle seguenti risorse:

  • Individua il nome del cluster Kubernetes o chiedi a un membro del gruppo di amministratori della piattaforma qual è il nome del cluster.

  • Accedi e genera il file kubeconfig per il cluster Kubernetes.

  • Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire KUBERNETES_CLUSTER_KUBECONFIG in queste istruzioni.

Aggiorna una risorsa StatefulSet

Per aggiornare StatefulSet, applica un file manifest nuovo o aggiornato. Questa operazione è utile per apportare varie modifiche a StatefulSet durante lo scaling o per specificare una nuova versione dell'applicazione.

Per aggiornare un oggetto StatefulSet, esegui:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    apply -f STATEFULSET_FILE

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue i carichi di lavoro con stato.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • STATEFULSET_FILE: il nome del file manifest StatefulSet aggiornato.

Il comando kubectl apply applica un file manifest a una risorsa. Se la risorsa specificata non esiste, viene creata dal comando.

Esamina il rollout dell'aggiornamento di una risorsa StatefulSet

Puoi visualizzare informazioni dettagliate sullo stato e sulla cronologia del rollout dell'aggiornamento di un oggetto StatefulSet. Puoi anche annullare il rollout di un oggetto StatefulSet.

Esamina il rollout

Per esaminare il rollout della risorsa StatefulSet, esegui:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout status statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue i carichi di lavoro con stato.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • STATEFULSET_NAME: il nome dell'oggetto StatefulSet aggiornato.

Ottieni la cronologia dei rollout

Per visualizzare la cronologia dei rollout della risorsa StatefulSet, esegui:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout history statefulset STATEFULSET_NAME
  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue i carichi di lavoro con stato.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • STATEFULSET_NAME: il nome dell'oggetto StatefulSet aggiornato.

Annulla un rollout

Per annullare un rollout, esegui:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    rollout undo statefulset STATEFULSET_NAME

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster che esegue i carichi di lavoro con stato.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.

  • STATEFULSET_NAME: il nome dell'oggetto StatefulSet.

Passaggi successivi