Gibt es eine Möglichkeit, einen Container (oder genauer gesagt alle laufenden Container einer bestimmten Anwendung) Konfigurationsdatei zu aktualisieren, während es läuft?
Sagen wir, dass ich eine Konfigurationsdatei habe, die meine Anwendung jedes Mal liest, wenn sie auf einige Konfigurationswerte zugreifen muss, und ich habe beschlossen, diesen Wert während der Ausführung der Anwendung zu ändern, damit das nächste Mal der Wert gelesen wird sei der aktualisierte Wert.
Aus dem Blick auf die Kubernetes-Dokumentation Es fühlt sich an, als ob es einen kubectl-Befehl geben sollte, der es erlaubt, aber ich konnte es nicht finden.
Auch ich denke, dass ich ähnliche Ergebnisse erzielen kann, indem ich ein rollendes Update für diese Container mache, oder?Kubernetes Update-Container Konfigurationsdatei
Antwort
Sie müssen sich confmaps
und secrets
ansehen.
Viele Anwendungen erfordern eine Konfiguration über eine Kombination von Konfigurationsdateien, Befehlszeilenargumenten und Umgebungsvariablen. Diese Konfigurationsartefakte sollten vom Bildinhalt entkoppelt sein, um containerisierte Anwendungen tragbar zu halten.
Sie können confmap
verwenden, um zu speichern, sagen wir nginx config, dann bearbeiten Sie die Confmap, und die Änderungen werden auf den laufenden Containern ausgeführt. (In nginx Fall müssen Sie den nginx Dienst neu zu laden, um die neue Konfiguration wirksam wird.)
Beispiel Yaml:
kind: ConfigMap
apiVersion: v1
metadata:
creationTimestamp: 2016-02-18T19:14:38Z
name: example-config
namespace: default
data:
example.property.1: hello
example.property.2: world
example.property.file: |-
property.1=value-1
property.2=value-2
property.3=value-3
So erstellen configmap
aus exitsting Konfigurationsdatei:
kubectl create configmap <confmap name> --from-file=path/to/config.conf
zu bearbeiten configmap
:
kubectl edit configmap <confmap name>
Secrets
sind configmaps ähnlich, sie werden nur für sichere Daten verwendet, wie private Schlüssel, Passwort usw.
- 1. Kubernetes NodePort benutzerdefinierter Port
- 2. Konfigurationsdatei
- 3. Kubernetes DNS schlägt in Kubernetes 1.2
- 4. Hinzufügen von nginx.conf zum Kubernetes-Cluster
- 5. GitKraken Konfigurationsdatei
- 6. Konfigurationsdatei testen
- 7. Flash-Konfigurationsdatei
- 8. OMNeT ++ Konfigurationsdatei
- 9. ghci Konfigurationsdatei
- 10. Sentinel-Konfigurationsdatei
- 11. Kubernetes Set Umgebungsvariablen in Abhängigkeit von Namespace
- 12. Kubernetes - dynamische Bereitstellung von Speicher
- 13. Kubernetes running nginx startet nicht
- 14. Unterschied zwischen openshift kubernetes version und googles kubernetes
- 15. Wie aktualisiert man Kubernetes Dashboard in gehosteten Kubernetes auf GKE?
- 16. Rancher mit Vieh vs Rancher mit Kubernetes kontra eigenständige Kubernetes
- 17. Kubernetes - Implementieren der Kubernetes Master HA-Lösung in CentOS7
- 18. Kann Kubernetes wie Docker Compose verwendet werden?
- 19. F # NLog Konfigurationsdatei
- 20. Boost Program_options Konfigurationsdatei Kommentare
- 21. Konfigurationsdatei in AngularJS
- 22. SCons Konfigurationsdatei und Standardwerte
- 23. .NET eigene Konfigurationsdatei
- 24. eine Konfigurationsdatei unter jBoss
- 25. Laden Log4j2 Konfigurationsdatei programmgesteuert
- 26. RTI DDS-Konfigurationsdatei
- 27. JobDSL benutzerdefinierte Konfigurationsdatei
- 28. Python - Parsing-Konfigurationsdatei - Flusskontrolle
- 29. Konfigurationsdatei in Azure-Funktionen
- 30. Data Factory-Konfigurationsdatei testen