Anthos clusters on AWS のアーキテクチャ

概要

Anthos clusters on AWS(GKE on AWS)は、Google Kubernetes Engine(GKE)を Amazon Web Services(AWS)に拡張するハイブリッド クラウド ソフトウェアです。

Anthos clusters on AWS では、Elastic Compute Cloud(EC2)Elastic Block Storage(EBS)Elastic Load Balancer(ELB) などの標準 AWS リソースを使用します。 Anthos clusters on AWS によって作成されるほとんどの AWS リソースには、gke- で始まる名前が付けられています。

アーキテクチャ

Anthos clusters on AWS には 2 つのコンポーネントがあります。

  1. 管理サービス。ユーザー クラスタのインストールと更新ができる環境です。AWS API を使用してリソースをプロビジョニングします。
  2. ユーザー クラスタ。ワークロードを実行します。

このトピックでは、Anthos 管理サービスとユーザー クラスタの目的とシェイプについて説明します。

管理サービス、コントロール プレーンと AWSNodePool を含む AWSCluster が存在する Anthos clusters on AWS のアーキテクチャ。

管理サービス

この管理サービスは、Anthos clusters on AWS のコンポーネントを提供し、管理します。たとえば、管理サービスを使用してユーザー クラスタを作成します。管理サービスは、AWS API を使用してリソースをプロビジョニングします。

管理サービスは、専用の AWS VPC または既存の AWS VPC で作成できます。

Anthos clusters on AWS を実行するすべての AWS Virtual Private Cloud(VPC)で、管理サービスが必要になります。管理サービスは単一の AWS アベイラビリティ ゾーンにインストールされます。VPC ごとに必要な管理サービスは 1 つのみです。1 つの管理サービスで複数のユーザー クラスタを管理できます。

管理サービスの主なコンポーネントはクラスタ オペレータです。クラスタ オペレータは、AWSCluster と AWSNodePool を作成および管理する Kubernetes オペレータです。クラスタ オペレータは、AWS EBS ボリュームでストレージが永続化された etcd データベースに構成を保存します。

管理サービスのインストールと構成

このセクションでは、管理サービスを管理するために使用できるツールについて説明します。

anthos-gke ツール

クラスタの作成と管理には anthos-gke コマンドライン ツールを使用します。詳しくは、anthos-gke ツールをご覧ください。

接続

Connect を使用すると、Google Cloud Console と同じインターフェースに Anthos clusters on AWS クラスタと GKE クラスタを表示してログインできます。すべてのリソースが 1 つのダッシュボードに表示されるため、複数の Kubernetes クラスタにまたがってワークロードを可視化できます。

ユーザー クラスタ

ユーザー クラスタには、次の 2 つのコンポーネントが含まれます。これらは、管理サービスでホストされる Kubernetes カスタム リソースです。

  1. コントロール プレーン。
  2. 1 つ以上の AWSNodePool。

AWSCluster

AWSCluster は単一の VPC で実行されます。

専用 VPC に管理クラスタをインストールすると、Anthos clusters on AWS は、dedicatedVPC.availabilityZones で指定したすべてのゾーンにコントロール プレーンのレプリカを作成します。管理クラスタを既存のインフラストラクチャにインストールすると、Anthos clusters on AWS は、同じアベイラビリティ ゾーン内に 3 つのコントロール プレーン レプリカが存在する AWSCluster を作成します。各レプリカは、独自の AWS Auto Scaling グループに属し、終了時にインスタンスを再起動します。

管理サービスによって、コントロール プレーンが AWS ネットワーク ロードバランサ(NLB)の背後のプライベート サブネットに配置されます。管理サービスは、NLB を使用してコントロール プレーンと通信します。

複数の AWS アベイラビリティ ゾーンにまたがるコントロール プレーンを作成する場合は、高可用性ユーザー クラスタをご覧ください。

各コントロール プレーンでは、ローカル etcd データベース内に構成を保存します。こうしたデータベースはレプリケートされ、スタックされた高可用性トポロジで設定されます。

1 つのコントロール プレーンで 1 つ以上の AWSNodePool が管理されます。

AWSNodePool

AWSNodePool は Google Cloud 上の GKE ノードプールと同様に機能します。ノードプールとは、クラスタ内で同じ構成を持つノードのグループのことです。ノードプールは AWSNodePool リソースを使用し、1 つ以上のノードを含むことができます。各ノードプールは、終了時にインスタンスを再起動する独自の AWS Auto Scaling グループに属します。

トラブルシューティング

AWSCluster と AWSNodePool の Kubernetes イベントを表示すると、Anthos clusters on AWS のインストールに関するトラブルシューティングを行えます。詳しくは、トラブルシューティング ガイドを参照してください。

次のステップ