Update kubernetes Geheimnisse nicht update ausgeführt container env vars
Aktuell bei der Aktualisierung eines kubernetes secrets-Datei, um die änderungen zu übernehmen, muss ich laufen kubectl apply -f my-secrets.yaml
. Wenn es einen Laufenden container, wäre es immer noch mit der alten Geheimnisse. Im Hinblick auf die Anwendung der neuen Geheimnissen auf den Laufenden container, die ich derzeit führen Sie den Befehl kubectl replace -f my-pod.yaml
.
Ich Frage mich, ob dies ist der beste Weg, um ein update ausführen container Geheimnis, oder bin ich etwas fehlt.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die geheimen Dokumente für Benutzer sagen:
Montiert Geheimnisse aktualisiert werden. Die Frage ist Wann. Im Fall a der Inhalt einer geheimen aktualisiert wird, bedeutet nicht, dass Ihre Anwendung automatisch verbraucht es. Es ist Aufgabe Ihrer Anwendung, um sehen changes-Datei in diesem Szenario entsprechend zu handeln. Mit diesem im Verstand, den Sie derzeit brauchen ein wenig mehr Arbeit. Eine Möglichkeit, die ich im Kopf habe ist das ausführen einer eingeplanten job in Kubernetes, die spricht, um die Kubernetes-API, um eine neue Einführung Ihrer Bereitstellung. So könnte man theoretisch erreichen, was Sie wollen, erneuern Ihre Geheimnisse. Es ist irgendwie nicht elegant, aber das ist die einzige Möglichkeit, die ich im Auge habe im moment. Ich muss noch schauen mehr auf die Kubernetes-Konzepte selbst. Also bitte Geduld mit mir.
inotify
und beobachten Sie das Verzeichnis, in dem es montiert ist.Angenommen, wir haben running-pod mypod [montiert Geheimnis als mysecret in pod spec]
Löschen wir die vorhandenen geheimen
neu das gleiche Geheimnis mit aktualisierten Datei
dann tun
überprüfen Sie die Geheimnisse im inneren mypod, wird es aktualisiert.
Durch design, Kubernetes nicht push-Secret-updates zu laufen Hülsen. Wenn Sie möchten, aktualisieren Sie die Geheime Wert für eine Pod, die Sie haben, zu zerstören und neu zu erstellen, die Pod. Lesen Sie mehr über es hier.
Falls es jemanden (wie mich) zwingen wollen, rolling update "pods", die mit diesen Geheimnissen. Aus diesem Problem, der trick ist, zu aktualisieren, eine Env-variable im container, dann k8s wird automatisch rolling update-ganze Schoten