GKE on Azure のアーキテクチャ

GKE on Azure は、Azure アカウントで Kubernetes クラスタをプロビジョニング、運用、スケールする場合に役立つマネージド サービスです。

Google Cloud サービスと、コントロール プレーンとノードプールを含むクラスタが明示された、GKE on Azure のアーキテクチャ

このページは、会社の戦略と要件に従って IT ソリューションとシステム アーキテクチャを定義する管理者、アーキテクト、オペレーターを対象としています。 Google Cloud のコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE Enterprise ユーザーロールとタスクをご覧ください。

リソース管理

GKE on Azure は、Azure API を使用して、仮想マシン、マネージド ディスク、仮想マシン スケールセット、ネットワーク セキュリティ グループ、ロードバランサなど、クラスタに必要なリソースをプロビジョニングします。

クラスタは、Google Cloud CLI または GKE Multi-Cloud API で、作成、記述、削除できます。

Azure の認証

GKE on Azure を設定する場合は、必要な権限を持つ Azure Active Directory(Azure AD)アプリケーションとサービス プリンシパルを作成します。また、GKE Multi-Cloud API がアプリケーションのサービス プリンシパルとして認証するために使用するクライアント証明書も作成します。

Azure AD とサービス プリンシパルの詳細については、Azure Active Directory のアプリケーション オブジェクトとサービス プリンシパル オブジェクトをご覧ください。

詳細については、認証の概要をご覧ください。

Google Cloudのリソース

GKE on Azure は、 Google Cloud プロジェクトを使用して Google Cloudにクラスタ構成情報を保存します。

フリートと接続

GKE on Azure では、各クラスタは作成時にフリートに登録されます。Connect を使用すると、 Google Cloudからクラスタとワークロードの管理機能にアクセスできます。クラスタのフリート メンバーシップ名は、クラスタ名と同じです。

フリート内で Config Management や Cloud Service Mesh などの機能を有効にできます。

クラスタのアーキテクチャ

GKE on Azure は、Azure Virtual Network 内のプライベート サブネットを使用してクラスタをプロビジョニングします。各クラスタは、次のコンポーネントから構成されます。

  • コントロール プレーン: Kubernetes コントロール プレーンは、3 つのレプリカを含む高可用性アーキテクチャを使用します。各レプリカは、kube-apiserverkube-controller-managerkube-scheduleretcd などのすべての Kubernetes コンポーネントを実行します。各 etcd インスタンスは Azure Disk ボリュームにデータを保存し、ネットワーク インターフェースを介して他の etcd インスタンスと通信します。Kubernetes API エンドポイント kube-apiserver へのトラフィックの分散には、標準のロードバランサを使用します。

    コントロール プレーンは、複数のゾーンにも単一のゾーンにも作成できます。詳細については、クラスタを作成するをご覧ください。

  • ノードプール: ノードプールは、インスタンス タイプ、ディスク構成、インスタンス プロファイルなど、同じ構成による Kubernetes ワーカーノードのグループです。ノードプール内のすべてのノードは、同じサブネットで実行されます。高可用性を実現するため、複数のノードプールを同じ Azure リージョン内の異なるサブネットにプロビジョニングできます。

次のステップ