Ziele
- Du weißt, was
ConfigMaps
undSecrets
sind. - Warum sollte man
Secrets
undConfigMaps
verwenden? - Was ist GITOPS?
- Wird ein
Pod
automatisch Änderungen an einerConfigMap
, die er verwendet, anwenden? - Du weißt, wie
Secrets
verschlüsselt werden. - Du weißt, wie du Konfigurationsänderungen mit
ConfigMaps
/Secrets
ausrollst und welche Fallstricke es gibt - Für was sind immutable ConfigMaps?
- Was ist
etcd
? - Für was wird
etcd
bei Kubernetes eingesetzt? - Du kannst in eigenen Worten
raft
erklä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-forward
um 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 neueConfigMap
verwenden. Was passiert?
Posted by Claus-Theodor Riegg to DevOps Curriculum (2023-01-30 13:21)