Nicht alle Felder können aktualisiert werden. Diese Tatsache wird manchmal in dem kubectl explain
Ausgang für das Objekt erwähnt (und den Fehler bekam man Listen die Felder, die geändert werden können, so dass die andere wahrscheinlich nicht kann) .:
$ kubectl explain pod.spec.containers.env
RESOURCE: env <[]Object>
DESCRIPTION:
List of environment variables to set in the container. Cannot be updated.
EnvVar represents an environment variable present in a Container.
Wenn Sie Ihre Pods mit einem Deployment object einsetzen, Dann können Sie die Umgebungsvariablen in ändern, die Objekt mit kubectl edit
seit der Bereitstellung aktualisierten Versionen der Pod (s) ausrollen, die die Variable Änderungen und töten die älteren Pods, die nicht haben. Offensichtlich ändert diese Methode nicht den Pod an Ort und Stelle, aber es ist eine Möglichkeit, um zu bekommen, was Sie brauchen.
Eine weitere Option für Sie könnte ConfigMaps sein. Wenn Sie die Volume-Plugin-Methode für das Mounten der ConfigMap und verwenden, ist Ihre Anwendung so geschrieben, dass sie Änderungen am Volume erkennt und sich mit neuen Einstellungen bei Änderung neu lädt. Dies könnte eine Option sein (oder zumindest andere Ideen geben) Arbeite für dich).