web-dev-qa-db-fra.com

Comment rouler des pods de redémarrage sans changer le yaml de déploiement dans Kubernetes?

Dans kubernetes, il y a une mise à jour continue (automatiquement sans temps d'arrêt) mais il n'y a pas de redémarrage continu, du moins je n'ai pas pu trouver. Nous devons changer le déploiement yaml. Existe-t-il un moyen de faire rouler le "redémarrage", de préférence sans changer le déploiement yaml?

18
muratcavus

Avant kubernetes 1.15, la réponse est non. Mais il existe une solution de contournement des spécifications de déploiement de correctifs avec une annotation factice:

kubectl patch deployment web -p \
  "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}"

Depuis kubernetes 1.15, vous pouvez utiliser:

kubectl rollout restart deployment your_deployment_name

Améliorations CLI

  • Créé un nouveau kubectl rollout restart commande qui effectue un redémarrage continu d'un déploiement.
  • kubectl rollout restart fonctionne maintenant pour DaemonSets et StatefulSets
30
stratovarius