Erzwingen des Neustarts aller Pods in einem Kubernetes Deployment
In contrast to classical deployment managers like systemd or pm2, Kubernetes does not provide a simple restart my application command.
Es gibt jedoch eine einfache Umgehung: Wenn du etwas in deiner Konfiguration änderst, sogar harmlose Dinge, die keine Wirkung haben, wird Kubernetes deine Pods neu starten.
Consider configuring a rolling update strategy before doing this if you are updating a production application that should have minimal downtime.
In diesem Beispiel gehen wir davon aus, dass du ein StatefulSet hast, das du aktualisieren möchtest, und es heißt elasticsearch-elasticsearch. Stelle sicher, dass du hier den tatsächlichen Namen deines Deployments einträgst.
kubectl patch statefulset/elasticsearch-elasticsearch -p \
"{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"dummy-date\":\"`date +'%s'`\"}}}}}"Dies wird nur eine dummy-date-Annotation setzen, die keine Wirkung hat.
Du kannst das Update überwachen mit
kubectl rollout status statefulset/elasticsearch-elasticsearchDanke für die ursprüngliche Lösungsidee an pstadler on GitHub.