Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
¿Cómo revertir una implementación a una revisión anterior automáticamente cuando la implementación ha cruzado 'progressDeadlineSeconds'?

Estoy trabajando en la implementación de una imagen acoplable en kubernetes. La primera vez que implementé el contenedor, usé:

 kubectl apply -f <deployment_file>.yaml

y el contenedor se implementó correctamente en un pod.

Además, el archivo_despliegue se parece a esto:

 apiVersion: apps/v1beta1 kind: Deployment metadata: name: publisher spec: replicas: 2 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 minReadySeconds: 300 progressDeadlineSeconds: 900 template: metadata: labels: app: publisher spec: containers: - name: publisher image: 123dev.azurecr.io/publisher:{{ci-build-number}} env: - name: ENVIRONMENT value: "dev" ports: - containerPort: 8080

He definido el atributo 'progressDeadlineSeconds' en el archivo yaml anterior.

Para realizar un seguimiento de la implementación, utilicé:

 kubectl rollout status deployment.v1beta1.apps/publisher

Ahora, si quiero actualizar el contenedor con una nueva imagen, puedo volver a usar el comando

 kubectl apply -f <deployment_file>.yaml

para aplicar la actualización.

Pero, ¿qué pasa si la aplicación de la actualización falla debido a algún motivo (digamos que la imagen de la ventana acoplable está dañada), hay alguna manera de activar automáticamente una reversión a la revisión anterior cuando el estado de los pods no está configurado como 'en ejecución' O el tiempo de ejecución se cruza? 'pregressDeadlineSeconds'?

Hasta ahora no he encontrado una forma de ejecutar una reversión automáticamente. Los pensamientos serían apreciados.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

siga los pasos a continuación.

 1. append the --record param to deployment, as shown below kubectl apply -f <deployment_file>.yaml --record 2. kubectl rollout history deploy <deployment-name> to check deployment history. for example, kubectl rollout history deploy mynginx deployments "mynginx" REVISION CHANGE-CAUSE 3 kubectl set image deploy mynginx mynginx=nginx:1.12.2 4 kubectl set image deploy mynginx mynginx=nginx:1.13.8 3. you can rollback to previous version using revision, say to revision 3 kubectl rollout undo deploy mynginx --to-revision=3
over 4 years ago · Santiago Trujillo Denunciar

0

Después del comando kubectl apply , puede verificar si la implementación se implementó correctamente o no y luego, si es necesario, el kubectl rollout undo puede retroceder a la revisión anterior. Además, puede usar el comando de sleep de Linux para esperar un tiempo antes de eso.

En Linux:

 sleep 900 && \ if [[ $(timeout 5 kubectl rollout status -f <deployment_file>.yaml) != *"successfully rolled out"* ]]; then kubectl rollout undo -f <deployment_file>.yaml fi > /dev/null 2>&1 &

timeout 5 detiene el estado de implementación de kubectl rollout status si se atasca después de 5 segundos.

> /dev/null 2>&1 & ejecuta el comando en segundo plano y sin salida de terminal.

over 4 years ago · Santiago Trujillo Denunciar

0

Estos son los pasos que sigo para deshacer el lanzamiento de una implementación

Aquí client-depl es el nombre de la implementación.

Paso.1 Para obtener la lista del historial de una implementación específica, use este comando

 kubectl rollout history deploy client-depl

después de eso obtendrás una salida como esta.

imagen de implementación del historial de implementación

así que digamos que quiero implementar la implementación en la REVISIÓN 1 y luego usar este comando

 $ kubectl rollout undo deploy client-depl --to-revision=1

después de eso obtendrás un resultado como este

imagen de reversión de implementación

Felicitaciones, ha implementado con éxito la implementación a la versión anterior. Para cualquier duda por favor responda será un placer ayudarle.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda