GKE on AWS は、AWS アカウントで Kubernetes クラスタをプロビジョニング、運用、スケールする場合に役立つマネージド サービスです。
リソース管理
GKE on AWS では、AWS API を使用して、仮想マシン、マネージド ディスク、自動スケーリング グループ、セキュリティ グループ、ロードバランサなど、クラスタに必要なリソースをプロビジョニングします。
クラスタの作成、説明の追加、削除は、Google Cloud CLI または GKE Multi-Cloud API で行うことができます。
AWS に対する認証
GKE on AWS を設定する場合は、AWS アカウントに、必要な権限を含む AWS IAM ロールを作成します。また、Google Cloud プロジェクトでサービス アカウントを作成して、AWS IAM ID 連携用の信頼関係を構築します。詳細については、認証の概要をご覧ください。
Google Cloud 上のリソース
GKE on AWS は、Google Cloud プロジェクトを使用して Google Cloud にクラスタ構成情報を保存します。
フリートと接続
GKE on AWS では、各クラスタは作成時にフリートに登録されます。Connect を使用すると、Google Cloud からクラスタとワークロードの管理機能にアクセスできます。クラスタのフリート メンバーシップ名は、クラスタ名と同じです。
フリート内で Config Management や Cloud Service Mesh などの機能を有効にできます。
クラスタのアーキテクチャ
GKE on AWS は、AWS Virtual Private Cloud 内のプライベート サブネットを使用して、クラスタをプロビジョニングします。各クラスタは、次のコンポーネントから構成されます。
コントロール プレーン: Kubernetes コントロール プレーンは、3 つのレプリカを含む高可用性アーキテクチャを使用します。各レプリカは、
kube-apiserver
、kube-controller-manager
、kube-scheduler
、etcd
などのすべての Kubernetes コンポーネントを実行します。各etcd
インスタンスは EBS ボリュームにデータを保存し、ネットワーク インターフェースを介して他のetcd
インスタンスと通信します。Kubernetes API エンドポイントkube-apiserver
へのトラフィックの分散には、標準のロードバランサを使用します。ノードプール: ノードプールは、インスタンス タイプ、ディスク構成、インスタンス プロファイルなど、同じ構成の Kubernetes ワーカーノードのグループです。ノードプール内のすべてのノードは、同じサブネットで実行されます。高可用性を実現するため、複数のノードプールを同じ AWS リージョン内の異なるサブネットにプロビジョニングできます。
次の図では、ネットワーク アドレス変換(NAT)ゲートウェイとロードバランサを含む VPC、ノードプール、コントロール プレーンの構造の例を示します。このインフラストラクチャは、AWS VPC を作成するとクイックスタートの手順で作成します。
次のステップ
- 前提条件を満たす。