Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

731
Views
helm3: la actualización no actualiza el pod con fuerza

Estamos implementando microservicios de Java en AWS 'ECR > EKS' utilizando helm3 y canalización CI/CD de Jenkins. Sin embargo, lo que vemos es que, si volvemos a ejecutar el trabajo de Jenkins para volver a instalar la implementación/el pod, entonces el pod no se vuelve a instalar si no hay cambios en el código. Todavía mantiene la antigua cápsula de funcionamiento como está. El caso de uso considerado aquí es que la configuración de AWS Secrets Manager para el secreto de base de datos extraído durante la implementación ha cambiado, por lo que el servicio debe volver a implementarse volviendo a activar el trabajo de Jenkins.

Enfoque 1 : https://helm.sh/docs/helm/helm_upgrade/

Intenté usar 'helm upgrade --install --force ....' como se sugiere en la documentación de actualización de helm3 pero falla con el siguiente error en el registro de Jenkins

"Error: ACTUALIZACIÓN FALLIDA: no se pudo reemplazar el objeto: el servicio "dbservice" no es válido: spec.clusterIP: valor no válido: "": el campo es inmutable"

Enfoque 2 : usar --recreate-pods de la versión anterior de helm

Con 'helm upgrade --install --recreate-pods ....', recibo la siguiente advertencia en el registro de Jenkins

"La bandera --recreate-pods ha quedado obsoleta, la funcionalidad ya no se actualizará. Consulte la documentación para conocer otros métodos para recrear pods"

Sin embargo, la cápsula se vuelve a crear. Pero como sabemos --recreate-pods no es un reinicio suave. Por lo tanto, tendríamos tiempo de inactividad, lo que rompe el principio de microservicio.

versión de timón utilizada

versión.BuildInfo{Versión:"v3.4.0", GitCommit:"7090a89efc8a18f3d8178bf47d2462450349a004", GitTreeState:"limpio", GoVersion:"go1.14.10"}

pregunta

  • ¿Cómo usar --force con helm 3 con la actualización de helm para el error anterior?
  • ¿Cómo lograr un reinicio suave con --recreate-pods en desuso?
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Esto se describe muy bien en la documentación de Helm: https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments

over 4 years ago · Santiago Trujillo Report

0

A continuación se muestra cómo lo configuré: gracias a @vasili-angapov por redirigir a la sección de documentación correcta.

En deployment.yaml , agregué anotaciones y rollme

 kind: Deployment spec: template: metadata: annotations: rollme: {{ randAlphaNum 5 | quote }}

Según la documentación, cada invocación de la función de plantilla randAlphaNum generará una cadena aleatoria única. Por lo tanto, la cadena aleatoria siempre cambia y hace que la implementación avance.

La otra forma descrita en el documento es con respecto a un valor SHA cambiante para un archivo.

En el pasado, helm recomendaba usar la marca --recreate-pods como otra opción. Esta bandera se ha marcado como deprecated in Helm 3 a favor del método más declarativo anterior.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!