admin:kubernetes
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
admin:kubernetes [2022-08-30 11:11] – Thomas Schneider | admin:kubernetes [2023-03-02 19:10] (aktuell) – [Reboots] Thomas Schneider | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Kubernetes-Cluster ====== | ||
+ | Wir betreiben ein Kubernetes-Cluster. | ||
+ | |||
+ | ===== Benutzung (kubectl) ===== | ||
+ | |||
+ | Die Kubernetes-API ist //nur aus dem RWTH-Netz// unter https:// | ||
+ | |||
+ | Der Login erfolgt per OpenID Connect. | ||
+ | |||
+ | < | ||
+ | touch ~/ | ||
+ | chmod 0600 ~/ | ||
+ | kubectl login \ | ||
+ | --k8s-api-server https:// | ||
+ | --k8s-server-ca-path / | ||
+ | --oidc-client-id kubernetes \ | ||
+ | --oidc-server https:// | ||
+ | </ | ||
+ | |||
+ | Mit '' | ||
+ | |||
+ | ===== Reboots ===== | ||
+ | |||
+ | Man sollte vermeiden, Kubernetes-Nodes ohne sie vorher als unverfügbar zu markieren und von Containern zu befreien neu zu starten (also so wie mit Ganeti und VMs auch schon). | ||
+ | |||
+ | Vorgehen (hier exemplarisch mit `k8s-hydrogen`): | ||
+ | |||
+ | < | ||
+ | kubectl cordon k8s-hydrogen | ||
+ | kubectl get pods -A -l application=spilo -o wide -L spilo-role -w # Warten, bis kein Postgres-Pod auf k8s-hydrogen mehr master ist (spilo-role) | ||
+ | kubectl drain k8s-hydrogen --ignore-daemonsets --delete-emptydir-data --dry-run=server | ||
+ | kubectl drain k8s-hydrogen --ignore-daemonsets --delete-emptydir-data | ||
+ | # Reboot. | ||
+ | kubectl get nodes -w # Warten, bis k8s-hydrogen wieder " | ||
+ | kubectl uncordon k8s-hydrogen | ||
+ | </ | ||
+ | |||
+ | Das ist leider ein bisschen umständlich, |