Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

742
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda