Member-only story
GKEのベスト・プラクティス :可用性の高いクラスターの設計と構築(前半)
GKEのクラスター設計についての記事です。長いので前半と後半の二回に分けて投稿します。今回は前半です。
300 ドルの無料クレジットと 20 以上の常時無料の製品で、Google Cloud での構築を開始できます。
多くの組織がそうであるように、Google Kubernetes Engine (GKE)環境を含むシステムの稼働を維持するために、様々なリスク管理とリスク軽減の戦略を採用しています。これらの戦略は、予測可能な停止時と予測不可能な停止時の両方において事業継続性を確保するものであり、パンデミックによる事業への影響を抑えるために取り組んでいる現在、特に重要なものとなっています。
全2回のブログ記事のうち、1回目の記事では、いわゆる0日目にGKEクラスターを高可用性に設定するための推奨事項とベストプラクティスをご紹介します。また、2回目の記事では、クラスターが稼働した後の2日目における高可用性のベストプラクティスをご紹介しますので楽しみにしといてください。
GKEクラスターの高可用性を考えるとき、多くの人が中断やメンテナンスを2日目の継続的な運用の一部と考えているため、0日目は見落とされがちです。実際には、ワークロードをデプロイする前に、GKEクラスターのトポロジーとコンフィグレーションを慎重に計画する必要があります。
ワークロードに適したトポロジー、スケール、ヘルスチェックの選択
GKE環境を構築してワークロードをデプロイする前に、いくつかの重要な設計ポイントを決めておく必要があります。
Pick the right topology for your cluster
クラスタに適したトポロジーを選ぶ
GKEには、regionalとzonalの2種類のクラスターがあります。ゾーンクラスターのトポロジーでは、クラスターのコントロールプレーンとノードはすべて、クラスターの作成時に指定した単一のコンピュートゾーン内で実行されます。リージョナルクラスターでは、コントロールプレーンとノードは1つのリージョン内の複数のゾーンに複製されます。
リージョナルクラスターは、3つのKubernetesコントロールプレーンのクォーラムで構成されており、ゾーンクラスターが提供するクラスターのコントロールプレーンAPIよりも高い可用性を提供しています。また、ノード上で動作する既存のワークロードは、コントロールプレーンが利用できなくても影響を受けませんが、アプリケーションの中には、クラスタAPIの可用性に大きく依存するものがあります。このようなワークロードには、リージョナルクラスターのトポロジーを使用する方が良いでしょう。
もちろん、GKEクラスターを守るためには、地域クラスターを選択するだけでは十分ではありません。:スケーリング、スケジューリング、ポッドの交換などはコントロールプレーンの責任であり、コントロールプレーンが利用できない場合は、クラスタの信頼性に影響を与えます。コントロール・プレーンが利用可能になって初めて再開できるようになります。