Questo documento spiega come aggiornare i workload stateful esistenti in esecuzione in un cluster Kubernetes Google Distributed Cloud (GDC) con air gap. 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 le modifiche del workload. Per saperne di più sulla pianificazione degli aggiornamenti per i workload stateful, consulta la documentazione di Kubernetes sulle strategie di aggiornamento.
Questo documento è rivolto agli sviluppatori del gruppo di operatori di applicazioni, responsabili dell'aggiornamento dei workload delle applicazioni per la propria organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per 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
Per ottenere le autorizzazioni necessarie per aggiornare i workload stateful, devi disporre di ruoli specifici. I ruoli necessari dipendono dal fatto che tu stia lavorando all'interno di un cluster condiviso con ambito a livello di organizzazione o di un cluster standard con ambito a livello di progetto. Per saperne di più, consulta Configurazioni dei cluster Kubernetes.
Ruoli cluster condivisi
Per creare, eliminare, modificare o visualizzare i workload in un cluster condiviso, chiedi all'amministratore del progetto IAM di concederti il ruolo Namespace Admin (namespace-admin).
Questo ruolo è associato allo spazio dei nomi del progetto.
Ruoli cluster standard
Per creare, eliminare, modificare o visualizzare i workload in un cluster standard, chiedi all'amministratore IAM del progetto di concederti il ruolo Sviluppatore 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_KUBECONFIGin queste istruzioni.
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 scale up 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 workload stateful.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 manifestStatefulSetaggiornato.
Il comando kubectl apply applica un file manifest a una risorsa. Se la risorsa specificata non esiste, viene creata dal comando.
Ispeziona un'implementazione dell'aggiornamento delle risorse StatefulSet
Puoi visualizzare informazioni dettagliate sullo stato e sulla cronologia dell'implementazione dell'aggiornamento di un oggetto StatefulSet. Puoi anche annullare l'implementazione di un oggetto StatefulSet.
Esamina l'implementazione
Per ispezionare 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 workload stateful.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'oggettoStatefulSetaggiornato.
Visualizza la cronologia di implementazione
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 workload stateful.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'oggettoStatefulSetaggiornato.
Annulla 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 workload stateful.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'oggettoStatefulSet.