GKE on Azure のアーキテクチャ
GKE on Azure は、Azure アカウントで Kubernetes クラスタをプロビジョニング、運用、スケールする場合に役立つマネージド サービスです。
このページは、会社の戦略と要件に従って 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-apiserver
、kube-controller-manager
、kube-scheduler
、etcd
などのすべての Kubernetes コンポーネントを実行します。各etcd
インスタンスは Azure Disk ボリュームにデータを保存し、ネットワーク インターフェースを介して他のetcd
インスタンスと通信します。Kubernetes API エンドポイントkube-apiserver
へのトラフィックの分散には、標準のロードバランサを使用します。コントロール プレーンは、複数のゾーンにも単一のゾーンにも作成できます。詳細については、クラスタを作成するをご覧ください。
ノードプール: ノードプールは、インスタンス タイプ、ディスク構成、インスタンス プロファイルなど、同じ構成による Kubernetes ワーカーノードのグループです。ノードプール内のすべてのノードは、同じサブネットで実行されます。高可用性を実現するため、複数のノードプールを同じ Azure リージョン内の異なるサブネットにプロビジョニングできます。
次のステップ
- 前提条件を満たす。