こんばんは、ACS 事業部の埜下です。
KubeCon + CloudNativeCon Europe 2023 の 3 日目、「How to Make Kubernetes Rhyme with Prod-Readiness」というセッションで紹介されたプロダクションレディな Kubernetes クラスタを作るための観点とおすすめプロジェクトについて紹介します。
プロダクションレディとは
こちらのセッションで述べられている「プロダクションレディ」とは以下を指すようです。
- 厳格なテストと品質保証を受けている
- 信頼性、安定性、安全性が確保されている
- 予想される負荷とトラフィックの条件下で最適なパフォーマンスを発揮できる
- 予想外の負荷/トラフィック条件および故障に適応している
- 適切に文書化および説明されている
- 繰り返しビルド可能
- 監視および観察可能 (問題を迅速に特定して解決する能力を有している)
なかなか重たい要素ばかりですね…。
これを満たす Kubernetes クラスタを構築するにはどのようにすればよいのでしょうか。
チェックリスト
Kubernetes クラスタを構築するうえで必要な要素を以下の 5 つに分類して、それぞれの観点とおすすめのプロジェクトが述べられていました。
- インフラストラクチャ
- ネットワーク
- オブザーバビリティ
- セキュリティ
- ワークロード
インフラストラクチャ
インフラストラクチャの要素では以下の観点があります。
- PVC のバックアップ
- コントロールプレーンのバックアップ(該当する場合)
- Cluster autoscaler
「コントロールプレーンのバックアップ」に関してはマネージドサービスを使っている場合は対象外ですね。
そしてこれらの観点を満たすプロジェクトとして以下が挙げられていました。
ネットワーク
ネットワークの要素では以下の観点があります。
- イングレスコントローラ
- サービスメッシュ
- Gateway API
これらの観点を満たすプロジェクトとして以下が挙げられていました。
オブザーバビリティ
オブザーバビリティの要素では以下の観点があります。
- ログ
- Pod
- kubelet
- コントロールプレーン
- メトリクス
- metrics-server
- 時系列データベース
- トレーシング
- トレーシング
これらの観点を満たすプロジェクトとして以下が挙げられていました。
セキュリティ
セキュリティの要素では以下の観点があります。
- ネットワークポリシー
- シークレット管理
これらの観点を満たすプロジェクトとして以下が挙げられていました。
ワークロード
ワークロードに関しての観点は述べられず、プロジェクトのみ挙げられていました。
環境
また、Kuberentes クラスタの環境については「クラウド vs オンプレミス」と「マネージド vs セルフホスト」の選択があります。
こちらは組織の条件によって異なってきますが、スピーカーとしては「要件に適したマネージドソリューションがあるなら使え!」という思いらしいです。
おわりに
プロダクションレディを目指す場合、多くの要素と関連するプロジェクトがありますね。 すべてのプロジェクトについて説明できる程度には知見を得ていきたいと思います。