Aggiorna i carichi di lavoro stateful

Questo documento spiega come aggiornare i workload stateful esistenti in esecuzione in un cluster Kubernetes air-gap di Google Distributed Cloud (GDC). Man mano che la tua 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 le modifiche al carico di lavoro. Per ulteriori informazioni sulla pianificazione degli aggiornamenti per i workload stateful, consulta la documentazione di Kubernetes relativa alle strategie di aggiornamento.

Questo documento è destinato agli sviluppatori del gruppo di operatori di applicazioni, responsabili dell'aggiornamento dei carichi di lavoro delle applicazioni per la loro organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.

Prima di iniziare

Per completare le attività descritte in questo documento, devi disporre delle seguenti risorse e dei seguenti ruoli:

  • Per eseguire comandi su un cluster Kubernetes, 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 se non ne hai uno.

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

  • Per ottenere le autorizzazioni necessarie per aggiornare i carichi di lavoro stateful in un cluster condiviso, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Namespace Admin (namespace-admin) nello spazio dei nomi del progetto.

  • Per ottenere le autorizzazioni necessarie per aggiornare i carichi di lavoro stateful in un cluster standard, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Cluster Developer (cluster-developer) in un cluster standard.

Aggiorna una risorsa StatefulSet

Per aggiornare StatefulSet, applica un file manifest nuovo o aggiornato. Questo è utile per apportare varie modifiche al tuo StatefulSet durante lo scaling o per specificare una nuova versione della tua 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 stateful.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo 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 l'implementazione di un aggiornamento della risorsa StatefulSet

Puoi visualizzare informazioni dettagliate sullo stato di implementazione dell'aggiornamento e sulla cronologia di un oggetto StatefulSet. Puoi anche annullare l'implementazione di un oggetto StatefulSet.

Esaminare l'implementazione

Per esaminare l'implementazione 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 stateful.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo 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.

Recuperare la cronologia implementazioni

Per visualizzare la cronologia di implementazione 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 stateful.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo 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.

Annullare un'implementazione

Per annullare un'implementazione, 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 stateful.

  • NAMESPACE: lo spazio dei nomi. Per i cluster condivisi, questo 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