ConfigMaps für Konfigurationen
Lagern Sie die Anwendungskonfiguration mithilfe von ConfigMaps aus den Container-Images aus.
ConfigMaps für Konfigurationen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Einführung in ConfigMaps
Anwendungen benötigen häufig Konfigurationsdaten, etwa Datenbankverbindungszeichenfolgen oder Feature-Flags.
Wenn Sie diese Informationen direkt in Ihre Container-Images einbetten, werden diese starr und lassen sich nur schwer aktualisieren.
ConfigMaps bieten eine Möglichkeit, die nicht vertrauliche Konfiguration Ihrer Anwendung auszulagern und zentral zu verwalten, sodass Ihre Images flexibel bleiben.
Was ist eine ConfigMap?
Eine ConfigMap ist ein Kubernetes-Objekt zum Speichern von nicht vertraulichen Daten in Form von Schlüssel-Wert-Paaren.
Betrachten Sie sie als zentralen Ort für Ihre Anwendungseinstellungen, auf den Ihre Pods zugreifen können.
- Entkopplung der Konfiguration: Trennt die Konfiguration vom Anwendungscode.
- Flexibilität: Ermöglicht das einfache Ändern von Einstellungen, ohne Images neu erstellen zu müssen.
- Portabilität: Ermöglicht das Verschieben Ihrer Anwendung zwischen Umgebungen mit unterschiedlichen Konfigurationen.
ConfigMaps erstellen: imperativ
Sie können eine ConfigMap schnell direkt über die Befehlszeile mit kubectl create configmap erstellen.
Diese Methode eignet sich hervorragend für einfache, einmalige Konfigurationen oder schnelle Tests.
Erstellen wir eine ConfigMap namens my-app-config mit einer Einstellung für die Protokollstufe.
kubectl create configmap my-app-config \
--from-literal=log_level=INFOIhre ConfigMap untersuchen
Nach dem Erstellen einer ConfigMap können Sie deren Details anzeigen und den Inhalt überprüfen.
Verwenden Sie kubectl get mit dem Flag -o yaml, um die vollständige YAML-Definition einschließlich der darin gespeicherten Daten anzuzeigen.
kubectl get configmap my-app-config -o yamlDeklarative ConfigMap (YAML)
Für Produktionsumgebungen und die Versionsverwaltung ist es üblich, ConfigMaps mit YAML-Manifesten zu definieren.
Dieser Ansatz macht Ihre Konfigurationen reproduzierbar und erleichtert die Verwaltung zusammen mit Ihrem Anwendungscode.
Hier sehen Sie ein YAML-Beispiel für die Konfiguration eines Spiels:
apiVersion: v1
kind: ConfigMap
metadata:
name: game-config
data:
game.properties: |
level=easy
player_limit=10
ui.properties: |
theme=dark
language=enConfigMap aus YAML anwenden
Um die ConfigMap game-config zu erstellen, speichern Sie den YAML-Inhalt aus der vorherigen Szene in einer Datei (z. B. game-config.yaml).
Verwenden Sie anschließend kubectl apply -f, um sie in Ihrem Cluster bereitzustellen.
# Save the YAML to game-config.yaml
kubectl apply -f game-config.yaml
kubectl get configmap game-config -o yamlConfigMaps als Umgebungsvariablen
Eine verbreitete Möglichkeit für einen Pod, ConfigMap-Daten zu verwenden, besteht darin, sie als Umgebungsvariablen einzufügen.
Sie können einzelne Schlüssel zur Bereitstellung angeben oder envFrom verwenden, um alle Schlüssel-Wert-Paare einer ConfigMap bereitzustellen.
Das eignet sich ideal für einfache Anwendungseinstellungen.
apiVersion: v1
kind: Pod
metadata:
name: my-env-pod
spec:
containers:
- name: my-container
image: busybox
command: ["sh", "-c", "echo Log Level: $LOG_LEVEL && sleep 3600"]
env:
- name: LOG_LEVEL
valueFrom:
configMapKeyRef:
name: my-app-config
key: log_levelDemo: Pod mit Umgebungskonfiguration
Führen wir die Pod-Definition aus, um die Umgebungsvariable LOG_LEVEL in Aktion zu sehen.
Speichern Sie das Pod-YAML unter env-pod.yaml, wenden Sie es an und prüfen Sie anschließend die Logs des Pods.
# Save Pod YAML to env-pod.yaml
kubectl apply -f env-pod.yaml
kubectl logs my-env-pod
# Clean up
kubeclt delete pod my-env-podConfigMaps als bereitgestellte Volumes
Für Anwendungen, die Konfigurationsdateien erwarten (z. B. nginx.conf, application.properties), können Sie eine ConfigMap als Volume einbinden.
Jedes Schlüssel-Wert-Paar der ConfigMap wird innerhalb des Containers zu einer Datei im angegebenen Einbindungspfad.
apiVersion: v1
kind: Pod
metadata:
name: my-volume-pod
spec:
containers:
- name: my-container
image: busybox
command: ["sh", "-c", "echo 'Contents of game.properties:' && cat /etc/config/game.properties && sleep 3600"]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: game-configDemo: Pod mit eingebundener Konfiguration
Stellen wir nun einen Pod bereit, der unsere ConfigMap game-config als Volume einbindet.
Speichern Sie das Pod-YAML unter volume-pod.yaml, wenden Sie es an und untersuchen Sie die Logs, um den Inhalt der eingebundenen Datei zu sehen.
# Save Pod YAML to volume-pod.yaml
kubectl apply -f volume-pod.yaml
kubectl logs my-volume-pod
# Clean up
kubeclt delete pod my-volume-podSchnelltest: ConfigMaps
Welche der folgenden Aussagen über Kubernetes ConfigMaps ist richtig?
Zusammenfassung: ConfigMaps
Sehr gut! Sie haben gelernt, wie ConfigMaps die Verwaltung von Konfigurationen in Kubernetes unterstützen:
- Zweck: Speichern nicht vertraulicher Konfigurationsdaten als Schlüssel-Wert-Paare.
- Erstellung: Imperativ mit
kubectl createoder deklarativ mit YAML. - Verwendung: Als Umgebungsvariablen oder eingebundene Dateien innerhalb von Pods.
- Vorteil: Entkoppelt die Konfiguration vom Anwendungscode und erhöht dadurch die Flexibilität.
Als Nächstes sehen wir uns an, wie Sie vertrauliche Informationen mithilfe von Kubernetes-Secrets sicher verarbeiten!
Häufig gestellte Fragen
Ist die Lektion „ConfigMaps für Konfigurationen“ kostenlos?
Ja — der vollständige Text von „ConfigMaps für Konfigurationen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „ConfigMaps für Konfigurationen“?
Lagern Sie die Anwendungskonfiguration mithilfe von ConfigMaps aus den Container-Images aus. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „ConfigMaps für Konfigurationen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- ConfigMaps für Konfigurationen
- Secrets für vertrauliche Daten
- Persistente Volumes und Claims
- StorageClasses und dynamische Bereitstellung