En esta página, se explica cómo actualizar las cargas de trabajo con estado existentes que se ejecutan en un clúster de Kubernetes de un dispositivo aislado de Google Distributed Cloud (GDC). A medida que tu aplicación evoluciona en función del uso de recursos y las optimizaciones de configuración, debes actualizar la especificación del Pod subyacente en el clúster de Kubernetes para reflejar esos cambios en la carga de trabajo. Para obtener más información sobre la planificación de actualizaciones para cargas de trabajo con estado, consulta la documentación de Kubernetes sobre las estrategias de actualización.
Esta página está dirigida a los desarrolladores que forman parte del grupo de operadores de aplicaciones y que son responsables de actualizar las cargas de trabajo de las aplicaciones de su organización.
Antes de comenzar
Para ejecutar comandos en el clúster de Kubernetes en equipos físicos preconfigurado, asegúrate de tener los siguientes recursos:
Ubica el nombre del clúster de Kubernetes o pregúntale al administrador de la plataforma cuál es el nombre del clúster.
Accede y genera el archivo kubeconfig para el clúster de Kubernetes si no tienes uno.
Usa la ruta de acceso de kubeconfig del clúster de Kubernetes para reemplazar
CLUSTER_KUBECONFIG
en estas instrucciones.
Para obtener los permisos necesarios para actualizar cargas de trabajo con estado, pídele al administrador de IAM de tu organización que te otorgue el rol de administrador de espacio de nombres (namespace-admin
) en el espacio de nombres de tu proyecto.
Actualiza un recurso StatefulSet
Para actualizar el StatefulSet
, aplica un archivo de manifiesto nuevo o actualizado. Esto es útil para realizar varios cambios en tu StatefulSet
cuando escalas o quieres especificar una versión nueva de tu aplicación.
Para actualizar un objeto StatefulSet
, ejecuta el siguiente comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
apply -f STATEFULSET_FILE
Reemplaza lo siguiente:
CLUSTER_KUBECONFIG
: Es el archivo kubeconfig del clúster de Kubernetes que ejecuta las cargas de trabajo con estado.NAMESPACE
: Es el espacio de nombres del proyecto.STATEFULSET_FILE
: Es el nombre del archivo de manifiesto deStatefulSet
actualizado.
El comando kubectl apply
aplica un archivo de manifiesto a un recurso. Si el recurso especificado no existe, el comando lo crea.
Inspecciona el lanzamiento de una actualización del recurso StatefulSet
Puedes ver información detallada sobre el estado y el historial del lanzamiento de una actualización de un objeto StatefulSet
. También puedes deshacer el lanzamiento de un objeto StatefulSet
.
Inspecciona el lanzamiento
Para inspeccionar el lanzamiento del recurso StatefulSet
, ejecuta lo siguiente:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
rollout status statefulset STATEFULSET_NAME
CLUSTER_KUBECONFIG
: Es el archivo kubeconfig del clúster de Kubernetes que ejecuta las cargas de trabajo con estado.NAMESPACE
: Es el espacio de nombres del proyecto.STATEFULSET_NAME
: Es el nombre del objetoStatefulSet
actualizado.
Obtén el historial de lanzamiento
Para ver el historial de lanzamiento del recurso StatefulSet
, ejecuta el siguiente comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
rollout history statefulset STATEFULSET_NAME
CLUSTER_KUBECONFIG
: Es el archivo kubeconfig del clúster de Kubernetes que ejecuta las cargas de trabajo con estado.NAMESPACE
: Es el espacio de nombres del proyecto.STATEFULSET_NAME
: Es el nombre del objetoStatefulSet
actualizado.
Cómo deshacer un lanzamiento
Para deshacer un lanzamiento, ejecuta el siguiente comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
rollout undo statefulset STATEFULSET_NAME
Reemplaza lo siguiente:
CLUSTER_KUBECONFIG
: Es el archivo kubeconfig del clúster de Kubernetes que ejecuta las cargas de trabajo con estado.NAMESPACE
: Es el espacio de nombres del proyecto.STATEFULSET_NAME
: Es el nombre del objetoStatefulSet
.