GKE on Azure のアーキテクチャ

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

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

リソース管理

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 や Anthos 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 リージョン内の異なるサブネットにプロビジョニングできます。

次のステップ