510 Kubernetes Applikations Konfiguration und Secrets [0.5 PT]

Updated . Posted . Visible to the public.

Ziele

  • Du weißt, was ConfigMaps und Secrets sind.
  • Warum sollte man Secrets und ConfigMaps verwenden?
  • Was ist GITOPS?
  • Wird ein Pod automatisch Änderungen an einer ConfigMap, 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

Aufgaben

Für die Aufgaben kannst du das für das Buch verwendete k8s Cluster verwenden.

  1. Erstelle ein Deployment, das Pods mit einem Nginx Container erstellt. Verwende dafür dieses Container Image Show archive.org snapshot .
  2. 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.
  3. Behebe den Fehler in der ConfigMap. Starten die Container jetzt erfolgreich?
  4. Verwende kubectl port-forward um mit dem Nginx in deinem Pod sprechen zu können.
  5. Ä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?
  6. Verwende kubectl rollout restart deployment/<deployment_name>. Wird die Konfiguration nun angewendet?
  7. 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 neue ConfigMap verwenden. Was passiert?
Claus-Theodor Riegg
Last edit
Matthias Bruhse
License
Source code in this card is licensed under the MIT License.
Posted by Claus-Theodor Riegg to DevOps Curriculum (2023-01-30 13:21)