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

303
Vistas
Cambiar manualmente el estado de un trabajo a exitoso en kubernetes

Para solucionar algunos problemas, necesito cambiar manualmente el estado de un trabajo en ejecución de active a successful para que se complete. El trabajo en sí es un bucle infinito que no termina. La opción para eliminar el trabajo no se puede usar porque pone el trabajo en un estado fallido.

Actualización: el trabajo en realidad no falla, sino que se atasca y, por lo tanto, lo elimino, lo que hace que pase al estado fallido. Además, no es posible cambiar el código del trabajo (no es un script bash).

Gracias

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

0

Me parece que está más interesado en tratar los síntomas de su problema que las razones reales detrás de ellos.

Esto es para una solución rápida de problemas en los que no quiero detener el resto para agregar una omisión para el estado de este trabajo.

Creo que la forma más rápida sería asegurarse de que sus otros trabajos sean menos confiables en este en lugar de intentar obligar a Kubernetes a marcar este trabajo/pod como exitoso.

Lo más cercano que pude llegar a su objetivo fue curl api-server directamente con kube-proxy . Pero esa solución solo funciona si el trabajo falla primero y, lamentablemente, no funciona con pods en ejecución.

Para este ejemplo, utilicé un trabajo que sale con el estado 1:

 containers: - name: job image: busybox args: - /bin/sh - -c - date; echo sleeping....; sleep 5s; exit 1;

Luego ejecute kubectl-proxy :

 ➜ ~ kubectl proxy --port=8080 & [1] 18372 ➜ ~ Starting to serve on 127.0.0.1:8080

Y publique el estado en el servidor api:

 curl localhost:8080/apis/batch/v1/namespaces/default/jobs/job3/status -XPATCH -H "Accept: application/json" -H "Content-Type: application/strategic-merge-patch+json" -d '{"status": {"succeeded": 1}}'
 ], "startTime": "2021-01-28T14:02:31Z", "succeeded": 1, "failed": 1 } }%

Si luego verifico el estado del trabajo, puedo ver que se marcó como completado.

 ➜ ~ k get jobs NAME COMPLETIONS DURATION AGE job3 1/1 45s 45s

PD. Intenté de esta manera configurar el estado como exitoso/completado para el trabajo o el módulo, pero no fue posible. El estado cambió por un momento y luego controller-manager revirtió el estado a ejecución. Tal vez esta pequeña window con el estado cambiado podría ser lo que desea y le permitirá continuar con sus otros trabajos. Simplemente asumo esto ya que no conozco los detalles.

Para obtener más información sobre cómo acceder a la API de esa manera, consulte los documentos de uso de kubectl .

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