Kubernetes とデータベース
(iwanhae.tistory.com)一般的に、Kubernetes 上で DB を運用することはあまり推奨されませんが、具体的にどのような課題があるのかを思いつくままに語る記事です。
DB on K8s: 利点
kubectlによる単一の操作体系- 一貫したセキュリティ体系(ファイアウォール、アクセス制御)
- モニタリングの統合
- 自動化された管理
DB on K8s: 課題
- CPU とストレージの距離による性能および安定性の問題
- 共有 Linux カーネル資源の問題
- 新たな障害ポイントの追加
- 弱い操作分離
- 設定、ネットワーク設定、ライフサイクル管理の複雑性増加
DB on K8s: 提案される解決策
- Kubernetes の機能を一部あきらめる(ノードごとに DB Pod 1 個、Local Volume の使用、
hostNetworkの使用など) - DB の種類に応じて Operator を活用
結論:
- 可能ではあるが、効率的かどうかは疑問
- DB の数が非常に多い、または数時間程度の障害を許容するサービスには有用そう
- それ以外では従来の方式のほうがより効率的に見える
1件のコメント
パフォーマンスが劣化し、保守作業が難しくなり、障害発生時には管理ポイントが多く原因追跡が困難になります。
管理ポイントを減らし、運用工数を削減しようとする k8s 本来の目的とは正反対の状況が生じます。