Kubernetes und Datenbanken
(iwanhae.tistory.com)Im Allgemeinen wird der Betrieb von Datenbanken in Kubernetes eher nicht empfohlen, und dieser Beitrag spricht frei heraus darüber, welche konkreten Probleme es dabei gibt.
DB on K8s: Vorteile
- einheitliches Bedienkonzept über
kubectl - konsistentes Sicherheitskonzept (Firewall, Zugriffskontrolle)
- integriertes Monitoring
- automatisiertes Management
DB on K8s: Probleme
- Leistungs- und Stabilitätsprobleme durch die Distanz zwischen CPU und Storage
- Probleme mit gemeinsam genutzten Linux-Kernel-Ressourcen
- zusätzliche neue Fehlerquellen
- schwache Betriebsisolation
- höhere Komplexität bei Konfiguration, Netzwerkkonfiguration und Lifecycle-Management
DB on K8s: Vorgeschlagene Lösungen
- auf einen Teil der Kubernetes-Funktionen verzichten (z. B. 1 DB-Pod pro Node, Nutzung von Local Volume, Nutzung von
hostNetworkusw.) - je nach Datenbanktyp Operatoren einsetzen
Fazit:
- möglich ist es, aber ob es effizient ist, bleibt fraglich
- scheint nützlich für Services mit sehr vielen Datenbanken oder solche, die einige Stunden Ausfall tolerieren können
- ansonsten wirkt der herkömmliche Ansatz effizienter
1 Kommentare
Die Leistung verschlechtert sich, Wartungsarbeiten werden schwieriger, und wenn Störungen auftreten, gibt es viele Verwaltungspunkte, was die Ursachenanalyse erschwert.
Dadurch entsteht eine Situation, die dem ursprünglichen Ziel von k8s – Verwaltungspunkte zu reduzieren und den Betriebsaufwand zu senken – genau entgegengesetzt ist.