Update k8s ConfigMap oder Geheimnis, ohne die vorhandene zu löschen
Habe ich mit K8S ConfigMap und das Geheimnis um die Verwaltung unserer Immobilien. Mein design ist Recht einfach, das hält properties-Dateien in einem git-repo und verwenden Sie build-server wie Thoughtworks GO, automatisch bereitstellen zu ConfigMaps oder Geheimnisse (auf Wahl Zustand) zu meinem k8s-cluster.
Derzeit, ich fand es nicht wirklich effizient ist, dass ich immer löschen Sie die vorhandenen ConfigMap und Geheimen, und erstellen Sie die neue zu aktualisieren, wie unten:
-
kubectl delete configmap foo
-
kubectl create configmap foo --from-file foo.properties
Ist es eine schöne und einfache Möglichkeit, um über einen Schritt und effizienter als das löschen der aktuellen? möglicherweise mache ich jetzt eine Gefährdung für die container, die verwendet diese configmaps, wenn es versucht zu mounten, während die alten configmap gelöscht und die neuen wurden noch nicht erstellt.
Vielen Dank im Voraus.
- Ich habe gerade ein Projekt erstellt, um anzeigen configmap Umwelt-Werte automatisch, es kann nützlich sein, für jemanden. github.com/Acanguven/kubernetes-configmap-update
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie bekommen yaml von der
kubectl create configmap
Befehl und Weiterreichenkubectl replace
wie diese:error: error validating "STDIN": error validating data: [apiVersion not set, kind not set]; if you choose to ignore these errors, turn validation off with --validate=false
kubectl replace -f secret.yaml
denke ich.Referenz
kubectl replace
ist jetzt eine sehr praktische Möglichkeit, dies zu erreichenkubectl replace -f some_spec.yaml
Lassen das update eine vollständige configMap (oder andere Objekte)Siehe auch doc und Beispiele direkt hier
Copy/Paste aus der Hilfe:
--from-file
Anforderung. Configmaps erstellt werden können von einer beliebigen Datei, nicht nur die yaml.Für kleine änderungen in
configMap
verwendenedit
Diese öffnet configMap in
vi
- editor. Machen Sie die änderungen und speichern Sie es.