Questa pagina spiega come aggiornare i workload stateless esistenti in esecuzione in un cluster Kubernetes dell'appliance Google Distributed Cloud (GDC) air-gap. 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.
Questa pagina è rivolta agli sviluppatori del gruppo di operatori di applicazioni, che sono responsabili dell'aggiornamento dei carichi di lavoro delle applicazioni per la loro organizzazione.
Prima di iniziare
Per completare le attività descritte in questo documento, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.
Richiedere ruoli IAM
Per creare, eliminare, modificare o visualizzare carichi di lavoro stateless in un cluster Kubernetes, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Namespace Admin (namespace-admin). Questo ruolo è associato allo spazio dei nomi del progetto.
prepara l'ambiente
Per eseguire comandi sul cluster Kubernetes bare metal preconfigurato, assicurati di disporre delle seguenti risorse:
Individua il nome del cluster Kubernetes o chiedi all'amministratore 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
CLUSTER_KUBECONFIGin queste istruzioni.
Aggiorna il deployment
Per aggiornare un oggetto Deployment, esegui:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f DEPLOYMENT_FILE
Sostituisci quanto segue:
CLUSTER_KUBECONFIG: il file kubeconfig per il cluster Kubernetes che esegue il deployment.NAMESPACE: lo spazio dei nomi del progetto.DEPLOYMENT_FILE: il nome del file manifestDeploymentda aggiornare.
Il comando kubectl apply applica un file manifest a una risorsa. Se la risorsa specificata non esiste, viene creata dal comando.
Esistono anche diversi altri modi per aggiornare le risorse all'interno della tua implementazione.
Aggiorna un'immagine container
Per modificare l'immagine di un oggetto Deployment, esegui:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
set image deployment DEPLOYMENT_NAME \
IMAGE=IMAGE:TAG
Sostituisci quanto segue:
CLUSTER_KUBECONFIG: il file kubeconfig per il cluster Kubernetes che esegue il deployment.NAMESPACE: lo spazio dei nomi del progetto.DEPLOYMENT_NAME: il nome dell'oggettoDeploymentcontenente l'immagine.IMAGE: il nome dell'immagine container.TAG: il tag da aggiornare per l'immagine container.
L'aggiornamento dell'immagine di un deployment è utile per modificare i campi selettori o le risorse, ad esempio richieste o limiti.
Ad esempio, per aggiornare un oggetto Deployment denominato nginx in modo che utilizzi la versione
1.9.1, esegui:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
set image deployment nginx nginx=nginx:1.9.1
Esegui il rollback di un aggiornamento
Se vuoi eseguire il rollback di un aggiornamento, ad esempio quando il deployment diventa
instabile, utilizza la CLI kubectl. La cronologia di implementazione di un oggetto Deployment viene
conservata nel sistema, in modo da poter eseguire il rollback in qualsiasi momento.
Per eseguire il rollback di un aggiornamento in corso o completato alla revisione precedente, esegui:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME
Sostituisci quanto segue:
CLUSTER_KUBECONFIG: il file kubeconfig per il cluster Kubernetes che esegue il deployment.NAMESPACE: lo spazio dei nomi del progetto.DEPLOYMENT_NAME: il nome dell'oggettoDeploymentda eseguire il rollback.
Per eseguire il rollback a una revisione specifica, esegui:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
-n NAMESPACE \
rollout undo deployment DEPLOYMENT_NAME \
--to-revision=REVISION_NUMBER
Sostituisci quanto segue:
CLUSTER_KUBECONFIG: il file kubeconfig per il cluster Kubernetes che esegue il deployment.NAMESPACE: lo spazio dei nomi del progetto.DEPLOYMENT_NAME: il nome dell'oggettoDeploymentda eseguire il rollback.REVISION_NUMBER: il numero intero che definisce la revisione a cui eseguire il rollback, ad esempio3.