Ziele
- Du weißt, was
ConfigMapsundSecretssind. - Warum sollte man
SecretsundConfigMapsverwenden? - Was ist GITOPS?
- Wird ein
Podautomatisch Änderungen an einerConfigMap, die er verwendet, anwenden? - Du weißt, wie
Secretsverschlüsselt werden. - Du weißt, wie du Konfigurationsänderungen mit
ConfigMaps/Secretsausrollst und welche Fallstricke es gibt - Für was sind immutable ConfigMaps?
- Was ist
etcd? - Für was wird
etcdbei Kubernetes eingesetzt? - Du kannst in eigenen Worten
rafterklären.
Inhalte
- Kapitel 16 aus "The Book of Kubernetes" von Alan Hohn
- Kubernetes ConfigMaps Show archive.org snapshot
- Kubernetes Secrets Show archive.org snapshot
- etcd the easy way Show archive.org snapshot
- thesecretlivesofdata.com/raft Show archive.org snapshot
Aufgaben
Für die Aufgaben kannst du das für das Buch verwendete k8s Cluster verwenden.
- Erstelle ein
Deployment, das Pods mit einem Nginx Container erstellt. Verwende dafür dieses Container Image Show archive.org snapshot . - Erstelle eine
ConfigMap, die Nginx Konfiguration enthält. Mounte diese Nginx Konfiguration in deine Nginx Container. Baue einen Fehler in die Konfiguration ein, die verhindert, dass Nginx starten kann. Die Pods sollten im Crashloop Backoff landen. - Behebe den Fehler in der
ConfigMap. Starten die Container jetzt erfolgreich? - Verwende
kubectl port-forwardum mit dem Nginx in deinem Pod sprechen zu können. - Ändere die Konfiguration in der
ConfigMap(valide Konfiguration). Du kannst beispielsweise mit return Show archive.org snapshot einen custom HTTP Statuscode zurückgeben. Wird die Konfiguration jetzt erfolgreich angewendet? - Verwende
kubectl rollout restart deployment/<deployment_name>. Wird die Konfiguration nun angewendet? - Erstelle eine neue
ConfigMap, die den gleichen Inhalt hat wie deine bisherige. Ändere den returncode nochmals auf einen neuen Wert. Editiere das Deployment und lass es die neueConfigMapverwenden. Was passiert?
Posted by Claus-Theodor Riegg to DevOps Curriculum (2023-01-30 13:21)