システム要件

GKE On-Prem には次のものが必要です。

  • vSphere 6.5、vCenter 6.5、vSphere ESXi 6.5 を含む VMware vSphere 6.5 環境
  • レイヤ 4 ネットワーク ロードバランサ。デフォルトで、GKE On-Prem に F5 BIG-IP バージョン 12.x または 13.x が統合されます。手動負荷分散を有効にして、独自の L4 ロードバランサを使用することもできます。

開始する前に、GKE On-Prem の概要を確認してください。

ハードウェアの要件

GKE On-Prem では、さまざまなハードウェア オプションから選択できます。vSphere から継承されるハードウェア要件については、VMware / vSphere 6.5 ハードウェア仕様をご覧ください。

Google では、複数の OEM パートナーと協力して、検証済みのハードウェア ソリューションを提供しています。パートナーが提供するオプションを選択すると、既知の有効なソリューションと共同サポートのメリットを得られます(Google とパートナーが連携してインストールの問題を解決します)。

現在、Google の OEM パートナーは次のとおりです。新たなプラットフォームとパートナーが Anthos のソリューション ファミリーに参加次第、このリストは更新されます。

  • Cisco
  • Dell
  • HPE
  • Intel
  • Lenovo

vSphere の要件

GKE On-Prem を VMware vSphere 6.5 環境にインストールします。vSphere のインストールについて詳しくは、VMware ドキュメントの vSphere のインストールと設定プロセスの概要を参照してください。

vSphere 6.5 には、次のコンポーネントが含まれています。

以下のセクションで、GKE On-Prem で使用する既存の vSphere 環境の構成方法を確認してください。

ライセンス エディションとバージョンの要件

現在、GKE On-Prem には VMware vSphere 6.5 が必要です。具体的には、以下の VMware ライセンス製品が必要です。

  • データセンターの各ホストにインストールされている Enterprise Plus ライセンス エディションの VMware ESXi 6.5。
  • データセンターの 1 つのホストにインストールされている Standard ライセンス エディションの VMware vCenter 6.5。

詳細については、次の VMware リソースをご覧ください。

vCenter ユーザー アカウントの権限

GKE On-Prem クラスタのインストールに使用する vSphere ユーザー アカウントには、十分な権限が必要です。vCenter の管理者のロールは、ユーザーがすべての vCenter オブジェクトに完全にアクセスできるようにします。

また、必要な最小限の権限を持つカスタムロールの作成を選択することもできます。詳細は次の表のとおりです。

権限を管理する方法については、vCenter コンポーネントの権限の管理をご覧ください。

インストール中に作成される仮想マシン

新規インストール中に、GKE On-Prem は、vSphere にいくつかの仮想マシン(VM あるいはノード)を作成します。次の表に、VM の仕様と用途を示します。

また、GKE On-Prem は 100 GB の永続ディスクを作成し、管理クラスタのデータを保存します。

管理クラスタ

名前 システムの接頭辞 構成フィールド 仕様 目的
管理クラスタのコントロール プレーン gke-admin-master なし
  • 4 個の vCPU
  • 16,384 MB の RAM
  • 40 GB のハードディスク容量

管理クラスタで管理コントロール プレーンを実行します。

アドオン VM gke-admin-node なし

次の仕様で実行される 2 つの VM

  • 4 個の vCPU
  • 16,384 MB の RAM
  • 40 GB のハードディスク容量

管理クラスタで管理コントロール プレーンのアドオンを実行します。

ユーザー クラスタのコントロール プレーン [USER_CLUSTER_NAME]-user-N usercluster.masternode
  • 4 個の vCPU
  • 8,192 MB の RAM
  • 40 GB のハードディスク容量

各ユーザー クラスタには独自のコントロール プレーンがあります。ユーザー コントロール プレーンの VM は管理クラスタで実行されます。1 つまたは 3 つのユーザー コントロール プレーンを作成できます。3 つのユーザー コントロール プレーンを作成する場合、GKE On-Prem はこの仕様で 3 つの VM を作成します(コントロール プレーンごとに 1 つずつ作成します)。

ユーザー クラスタ

名前 システムの接頭辞 構成フィールド 仕様 目的
ユーザー クラスタのワーカーノード [USER_CLUSTER_NAME]-user usercluster.workernode

ユーザー クラスタのワーカーノードのデフォルト値は次のとおりです。

  • 4 個の vCPU
  • 8,192 MB の RAM
  • 40 GB のハードディスク容量

ユーザー クラスタのノード(マシンともいいます)は、ワークロードが実行される仮想マシンです。ユーザー クラスタを作成するときに、実行するノード数を決めます。各ノードに必要な構成は、実行するワークロードによって異なります。

作成できるクラスタとノードの最大数については、割り当てと上限をご覧ください。

既存のユーザー クラスタに対して VM の追加または削除を行うことができます。クラスタのサイズ変更をご覧ください。

管理者クラスタとユーザー クラスタでの PersistentVolumeClaim

vSphere データストアには、管理クラスタとユーザー クラスタ内の Prometheus と Google Cloud のオペレーション スイートによって作成される PersistentVolumeClaim(PVC)を満たすスペースが必要です。たとえば、Prometheus は数日間の指標に十分なストレージを必要とし、Google Cloud のオペレーション スイートはネットワークの停止中にログをバッファするストレージが必要です。

各クラスタには次のような PVC があります。

  • ローカル Prometheus Statefulset: 250 GiB × 2 レプリカ = 500 GiB
  • Stackdriver Prometheus Statefulset: 250 GiB × 1 レプリカ = 250 GiB
  • Log Aggregator Statefulset: 100 GiB × 2 レプリカ = 200 GiB

ネットワーク タイム プロトコル

vSphere 環境のすべての VM では、同じネットワーク タイム プロトコル(NTP)サーバーを使用する必要があります。

管理ワークステーションとクラスタノードが静的 IP アドレスを使用する場合は、NTP サーバーの IP アドレスを hostconfig ファイルtod フィールドに指定する必要があります。

管理ワークステーションとクラスタノードが DHCP サーバーから IP アドレスを取得する場合は、DHCP サーバーを構成して NTP サーバーのアドレスを指定します。DHCP で NTP サーバーが指定されていない場合、GKE On-Prem はデフォルトで ntp.ubuntu.com を使用します。

ロードバランサの要件

GKE On-Prem には、統合と手動の 2 つの負荷分散モードがあります。統合モードは F5 BIG-IP をサポートします。手動モードでは、次のロードバランサがサポートされます。

  • Citrix
  • Seesaw

選択したロードバランサに関係なく、環境は次のネットワーク要件を満たす必要があります。

負荷分散のための VIP の確保

負荷分散に使用するいくつかの VIP を確保する必要があります。次の目的別に VIP を設定します。

コンポーネント 説明
管理コントロール プレーン

管理クラスタの Kubernetes API サーバーにアクセスします。管理クラスタの kubeconfig ファイルは、この VIP の server フィールドで参照されます。

管理コントロール プレーンのアドオン

管理コントロール プレーン アドオン VM 間の通信を管理します。

管理コントロール プレーンの Ingress

管理クラスタ内で実行されている Service の操作に使用されます。Istio はクラスタへの Ingress を管理し、Service は外部アクセス用に明示的に構成する必要があります。

各ユーザー クラスタ コントロールプ レーンの VIP

各ユーザー クラスタの Kubernetes API サーバーへのアクセスを提供します。各ユーザー クラスタの kubeconfig ファイルは、この VIP のいずれかを参照します。

各ユーザー クラスタ Ingress コントローラの VIP

ユーザー クラスタで実行されている Service の操作に使用されます。

クラスタ アップグレード用の VIP

クラスタ アップグレード時に GKE On-Prem で使用されます。

CIDR ブロックの確保

次の範囲の CIDR ブロックを確保する必要があります。

範囲

説明

Pod IP 範囲

  • Kubernetes Pod IP 用に確保された CIDR IPv4 ブロック(/C)。この範囲から、より小さい /24 範囲がノード単位で割り当てられます。N 個のノードを持つクラスタが必要な場合は、/C が N 個の /24 ブロックをサポートできる十分な大きさであることを確認します。
  • 管理クラスタの Pod IP 範囲と、作成する各ユーザー クラスタの Pod IP 範囲を 1 つずつ確保する必要があります。
  • たとえば、クラスタが最大 10 ノードまで拡張する可能性がある場合、/C は、最大で 16 /24 の範囲をサポートするため、/20 ブロックにする必要があります。

Service IP 範囲

  • Kubernetes Service IP 用に確保された CIDR IPv4 ブロック(/S)。ブロックのサイズによって Service の数が決まります。Ingress コントローラ自体に Service IP が 1 つ必要で、クラスタ DNS などの Kubernetes Services に 10 個以上の IP が必要です。
  • 管理クラスタ用に 1 つの Service IP 範囲を確保し、作成するユーザー クラスタごとに 1 つの Service IP 範囲を確保する必要があります。管理クラスタとユーザー クラスタに同じ Service IP 範囲を使用しないでください。
  • これには、/24(256 IP)以上のブロックを使用します。/24 より小さい範囲では、クラスタごとにホストできる Service の数が制限される可能性があります。

クラスタのライフサイクル イベント用にファイアウォールを開く

ファイアウォールで次のトラフィックを許可していることを確認してください。特に明記されていない限り、デフォルトのプロトコルは TCP です。

ライフサイクル イベント

管理コントロール プレーン、ユーザー コントロール プレーン、ユーザー クラスタノード

*.googleapis.com への送信アクセス。Google Cloud Storage と Container Registry へのアクセスのために Google の netblock IP 範囲(ポート 443)に解決されます。

  • クラスタのブートストラップ
  • クラスタマシンの追加または修復

管理プレーンとユーザー コントロール プレーンの VM

vCenter IP(ポート 443)

新しいマシンを追加

管理ワークステーション VM

vCenter IP(ポート 443)

クラスタのブートストラップ

管理ワークステーション VM

管理プレーンとユーザー コントロール プレーンへの SSH(ポート 22)

  • クラスタのブートストラップ
  • コントロール プレーンのアップグレード

Service と Pod の接続要件と制約

GKE On-Prem を準備する際には、接続に関する次の点を考慮してください。

カテゴリ

要件 / 制約

ルーティング

vSphere VM 間の相互ルーティングが可能であることを確認する必要があります。

IP 範囲

管理クラスタ用と、作成する各ユーザー クラスタ用に、2 つの別個の CIDR IPv4 ブロック(Pod IP 用に 1 つ、Service IP 用に 1 つ)を確保する必要があります。

SSL

なし

カプセル化

使用される CNI プロバイダは、Calico です。

クラスタの要件と制約

GKE On-Prem クラスタを計画する際は、次の領域について考慮してください。

カテゴリ

要件 / 制約

ルーティング

  • F5 BIG-IP のみ: 仮想 IP を使用して vSphere VM 間で負荷分散をサポートする F5 BIG-IP コントロール プレーンへの API アクセス。
  • ロードバランサに構成される仮想 IP をルーティングするようにネットワークを構成する必要があります。
  • クラスタノードにルーティングできるようにロードバランサを構成する必要があります。F5 BIG-IP の場合、NodePort Services は L4 VIP として公開されます。他のロードバランサの場合は、L4 VIP として公開されるように NodePort Service を手動で構成できます。

Service の検出

HTTPS で Ingress を使用するユーザー クラスタごとに、クラスタの Ingress コントローラの VIP を指す DNS エントリを追加します。

F5 BIG-IP の要件

GKE On-Prem と統合されているため、F5 BIG-IP の使用をおすすめします。F5 BIG-IP のインストール方法をご覧ください。

F5 BIG-IP ロードバランサを構成する手順は次のとおりです。

F5 BIG-IP のユーザー アカウント権限

GKE On-Prem では、管理者のロールを持つ F5 BIG-IP ユーザー アカウントが必要です。F5 のユーザーロールのドキュメントをご覧ください。

インストール中、GKE On-Prem に F5 BIG-IP 認証情報を提供します。指定するアカウントには、F5 Container Connector User Guide に従って管理者ロールを割り当てる必要があります。このガイドには、「BIG-IP コントローラを使用するには、管理者権限が必要です」という記述があります。

F5 BIG-IP のパーティション

事前に作成するクラスタごとに、F5 BIG-IP の管理パーティションを作成する必要があります。最初に、少なくとも 2 つのパーティションを作成する必要があります(管理クラスタ用に 1 つ、ユーザー クラスタ用に 1 つ)。F5 のドキュメント、管理パーティションを構成してユーザー アクセスを制御するをご覧ください。

管理クラスタ以外のクラスタに管理パーティションを使用しないでください。