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 |
なし |
|
管理クラスタで管理コントロール プレーンを実行します。 |
アドオン VM | gke-admin-node |
なし |
次の仕様で実行される 2 つの VM
|
管理クラスタで管理コントロール プレーンのアドオンを実行します。 |
ユーザー クラスタのコントロール プレーン | [USER_CLUSTER_NAME]-user-N |
usercluster.masternode |
|
各ユーザー クラスタには独自のコントロール プレーンがあります。ユーザー コントロール プレーンの VM は管理クラスタで実行されます。1 つまたは 3 つのユーザー コントロール プレーンを作成できます。3 つのユーザー コントロール プレーンを作成する場合、GKE On-Prem はこの仕様で 3 つの VM を作成します(コントロール プレーンごとに 1 つずつ作成します)。 |
ユーザー クラスタ
名前 | システムの接頭辞 | 構成フィールド | 仕様 | 目的 |
---|---|---|---|---|
ユーザー クラスタのワーカーノード | [USER_CLUSTER_NAME]-user |
usercluster.workernode |
ユーザー クラスタのワーカーノードのデフォルト値は次のとおりです。
|
ユーザー クラスタのノード(マシンともいいます)は、ワークロードが実行される仮想マシンです。ユーザー クラスタを作成するときに、実行するノード数を決めます。各ノードに必要な構成は、実行するワークロードによって異なります。 作成できるクラスタとノードの最大数については、割り当てと上限をご覧ください。 既存のユーザー クラスタに対して 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 の |
管理コントロール プレーンのアドオン | 管理コントロール プレーン アドオン VM 間の通信を管理します。 |
管理コントロール プレーンの Ingress | 管理クラスタ内で実行されている Service の操作に使用されます。Istio はクラスタへの Ingress を管理し、Service は外部アクセス用に明示的に構成する必要があります。 |
各ユーザー クラスタ コントロールプ レーンの VIP | 各ユーザー クラスタの Kubernetes API サーバーへのアクセスを提供します。各ユーザー クラスタの kubeconfig ファイルは、この VIP のいずれかを参照します。 |
各ユーザー クラスタ Ingress コントローラの VIP | ユーザー クラスタで実行されている Service の操作に使用されます。 |
クラスタ アップグレード用の VIP | クラスタ アップグレード時に GKE On-Prem で使用されます。 |
CIDR ブロックの確保
次の範囲の CIDR ブロックを確保する必要があります。
範囲 |
説明 |
---|---|
Pod IP 範囲 |
|
Service IP 範囲 |
|
クラスタのライフサイクル イベント用にファイアウォールを開く
ファイアウォールで次のトラフィックを許可していることを確認してください。特に明記されていない限り、デフォルトのプロトコルは 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 クラスタを計画する際は、次の領域について考慮してください。
カテゴリ |
要件 / 制約 |
---|---|
ルーティング |
|
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 のドキュメント、管理パーティションを構成してユーザー アクセスを制御するをご覧ください。
管理クラスタ以外のクラスタに管理パーティションを使用しないでください。