CPU、RAM、ストレージの要件(kubeception)

このドキュメントでは、kubeception を使用するユーザー クラスタを含む Google Distributed Cloud のインストールに必要な CPU、RAM、ストレージの要件について説明します。

kubeception とは

kubeception という用語は、Kubernetes クラスタを使用して他の Kubernetes クラスタを作成および管理するというコンセプトを表すために使用されます。Google Distributed Cloud のコンテキストでは、kubeception はユーザー クラスタのコントロール プレーンが管理クラスタ内の 1 つ以上のノードで実行される場合を指します。

Google では kubeception の使用を推奨していません。代わりに、Controlplane V2 を使用することをおすすめします。Controlplane V2 では、ユーザー クラスタのコントロール プレーン ノードはユーザー クラスタ自体にあります。

Controlplane V2 を使用するインストールのリソース要件については、CPU、RAM、ストレージの要件をご覧ください。

管理ワークステーションの CPU、RAM、ストレージの要件

管理ワークステーションを作成する前に、管理ワークステーションの構成ファイルを設定します。構成ファイルで、vSphere クラスタ、vSphere リソースプール、vSphere データストアを指定します。

vSphere クラスタは ESXi を実行する一連の物理ホストであり、リソースプールには、それらの ESXi ホストで使用可能なリソースの一部に対する予約があります。

リソースプールには、管理ワークステーションとプールに属するその他の VM の要件をサポートするのに十分な CPU と RAM が必要です。同様に、データストアには、管理ワークステーションやデータストアを使用するその他の VM の要件をサポートするのに十分なストレージが必要です。

管理ワークステーションの要件は次のとおりです。

  • 4 個の vCPU(仮想 CPU)
  • 8 GiB の RAM
  • 100 GiB

Google Distributed Cloud は、CPU マイクロアーキテクチャ レベル v3(x86-64-v3)以降で x86-64 vCPU のみをサポートします。

管理クラスタの CPU、RAM、ストレージの要件

管理クラスタを作成する前に、管理クラスタの構成ファイルを設定します。構成ファイルで、vSphere クラスタ、vSphere リソースプール、vSphere データストアを指定します。

リソースプールには、管理クラスタと、プールに属するその他の VM の要件をサポートするのに十分な CPU と RAM が必要です。同様に、データストアには、管理クラスタとデータストアを使用するその他の VM の要件をサポートするのに十分なストレージが必要です。

管理クラスタには 1 つ以上のユーザー クラスタが関連付けられています。関連付けられたユーザー クラスタごとに、管理クラスタには 1 つまたは 3 つのノードがあります。これらのノードはユーザー クラスタのコントロール プレーン ノードと呼ばれ、ユーザー クラスタのコントロール プレーン コンポーネントを実行します。

高可用性(HA)ユーザー クラスタの場合、管理クラスタには 3 つのコントロール プレーン ノードがあります。HA 以外のユーザー クラスタの場合、管理クラスタにはコントロール プレーン ノードが 1 つあります。

管理クラスタのストレージ要件は次のとおりです。

  • VM テンプレート用に 40 GiB

  • etcd オブジェクト データの保存用に 100 GiB

  • ネットワーク停止中にログと指標をバッファに保存する Google Cloud Observability 用に 240 GiB

  • Prometheus での指標データ保存用に 506 GiB(Prometheus が有効になっている場合)

  • 各ノードに 40 GiB。これには、ユーザー クラスタのコントロール プレーンとして機能するノードも含まれます。

  • 各ユーザー クラスタのコントロール プレーン ノードの場合:

    • 監査ログ用に作成された PVC を処理するため、追加で 10 GiB
    • etcd オブジェクト データ用に作成された PVC を処理するため、追加で 5 GiB
    • etcd イベントデータ用に作成された PVC を処理するため、追加で 5 GiB

次の表に、管理クラスタ内のノードの CPU、RAM、ストレージの要件を示します。

ノード 要件 目的
管理クラスタのコントロール プレーン
  • 2 vCPU
  • 4 GiB の RAM
  • 40 GiB のストレージ

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

アドオン

2 つの VM。それぞれ次の要件があります。

  • 4 vCPU
  • 16 GiB の RAM
  • 40 GiB のストレージ

管理クラスタのアドオンを実行します。

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

ユーザー クラスタごとに、1 つまたは 3 つの VM。各 VM には次の要件があります。

  • 3 vCPU
  • 5 GiB の RAM
  • 60 GiB のストレージ

ユーザー クラスタのコントロール プレーンを実行します。

* Google Distributed Cloud は、CPU マイクロアーキテクチャ レベル v3(x86-64-v3)以降で x86-64 vCPU のみをサポートします。

ユーザー クラスタの CPU、RAM、ストレージの要件

ユーザー クラスタを作成する前に、ユーザー クラスタ構成ファイルに入力します。構成ファイルで、vSphere クラスタ、vSphere リソースプール、vSphere データストアを指定します。

リソースプールには、ユーザー クラスタと、プールに属するその他の VM の要件をサポートするのに十分な CPU と RAM が必要です。同様に、データストアには、ユーザー クラスタとデータストアを使用するその他の VM の要件をサポートするのに十分なストレージが必要です。

ユーザー クラスタのストレージ要件は次のとおりです。

  • 各ノードに 40 GiB

  • ネットワーク停止中にログと指標をバッファに保存する Google Cloud Observability 用に 240 GiB

  • Prometheus での指標データ保存用に 506 GiB(Prometheus が有効になっている場合)

次の表に、ユーザー クラスタの各ノードの CPU、RAM、ストレージのデフォルト値を示します。ワークロードのニーズに応じて、値の調整が必要になることがあります。ワークロードのノードで使用できる CPU と RAM の量を確認するには、ワークロードで使用できるリソースをご覧ください。CPU と RAM の値は、ユーザー クラスタ構成ファイルの nodePools セクションで指定できます。

ノード 要件 目的
ユーザー クラスタのコントロール プレーン

ユーザー クラスタごとに、1 つまたは 3 つの VM。各 VM には次の要件があります。

  • 3 vCPU
  • 5 GiB の RAM
  • 60 GiB のストレージ

ユーザー クラスタのコントロール プレーンを実行します。

ワーカーノード

個々のワーカーノードのデフォルト値は次のとおりです。

  • 4 vCPU
  • 8 GiB の RAM
  • 40 GiB のストレージ

ユーザー クラスタのノードは、ワークロードが実行される仮想マシンです。ユーザー クラスタのノードに必要なリソースは、実行するワークロードによって異なります。

* Google Distributed Cloud は、CPU マイクロアーキテクチャ レベル v3(x86-64-v3)以降で x86-64 vCPU のみをサポートします。

CPU、RAM、ストレージの要件の例

次のような、2 つの vSphere データセンターがあるとします。

  • データセンター 1 にはクラスタ 1 という名前の vSphere クラスタがあり、クラスタ 1 にはリソースプール 1 という名前のリソースプールがあります。クラスタ 1 には、ESXi を実行する 4 つの物理ホストがあります。

  • データセンター 2 にはクラスタ 2 という名前の vSphere クラスタがあり、クラスタ 2 にはリソースプール 2 という名前のリソースプールがあります。クラスタ 2 には、ESXi を実行する 8 つの物理ホストがあります。

管理ワークステーションと管理クラスタをリソースプール 1 に配置し、データストア 1 を使用することにしました。

ユーザー クラスタはリソースプール 2 に配置し、データストア 2 を使用することにします。ユーザー クラスタで Prometheus を有効にする予定はありません。

次の 2 つのユーザー クラスタを作成することにします。

  • 各ワーカーノードに 6 個の vCPU、16 GiB の RAM、40 GiB のストレージが必要なユーザー クラスタ。このユーザー クラスタには 20 個のノードがあります。このユーザー クラスタには HA コントロール プレーンが必要であるため、このユーザー クラスタのコントロール プレーンとして機能する 3 つのノードが管理クラスタ内に存在します。各ユーザー クラスタのコントロール プレーン ノードは、4 つの vCPU と 8 GiB の RAM で構成されます。

  • 2 番目のユーザー クラスタには、各ワーカーノードに 4 つの vCPU、8 GiB の RAM、40 GiB のストレージが必要です。このユーザー クラスタには 8 つのノードがあります。このユーザー クラスタは HA コントロール プレーンを必要としないため、このユーザー クラスタのコントロール プレーンとして機能するノードは管理クラスタ内に 1 つだけです。ユーザー クラスタのコントロール プレーン ノードは、3 つの vCPU と 5 GiB の RAM で構成されます。

リソースプール 1 とデータストア 1 の要件

リソースプール 1 には、クラスタ 1 の 4 つの ESXi ホストにより提供される CPU と RAM の一部が予約されています。リソースプール 1 には、また、管理ワークステーションと管理クラスタの要件を満たす十分な CPU と RAM が必要です。さらに、データストア 1 には、管理ワークステーションと管理クラスタの要件を満たす十分なストレージが必要です。

管理クラスタには、独自のコントロール プレーン ノード、アドオン用の 2 つのノード、最初のユーザー クラスタのコントロール プレーン用の 3 つのノード、2 番目のユーザー クラスタのコントロール プレーン用の 1 つのノードがあります。つまり、管理クラスタには 7 つのノードがあります。

管理ワークステーションと管理クラスタを示す図

前述のように、管理ワークステーションには次のリソース要件があります。

例: 管理ワークステーションの要件
vCPU 4 vCPU
RAM 8 GiB
ストレージ 50 GiB

管理クラスタのリソース要件は、次のとおりです。

例: 管理クラスタの要件
vCPU 1 つの管理クラスタ コントロール プレーン ノード × 2 つの vCPU/ノード +
2 つのアドオンノード × 4 つの vCPU/ノード +
3 つのユーザー クラスタ コントロール プレーン ノード × 4 つの vCPU/ノード+
1 つのユーザー クラスタ コントロール プレーン ノード x 3 つの vCPU/ノード
25 vCPU
RAM 1 つの管理クラスタ コントロール プレーン ノード × 4 GiB/ノード +
2 つのアドオンノード × 16 GiB/ノード +
3 つのユーザー クラスタ コントロール プレーン ノード × 8 GiB/ノード +
1 つのユーザー クラスタ コントロール プレーン ノード x 5 GiB/ノード
65 GiB
ストレージ VM テンプレート用に 40 GiB +
etcd オブジェクト データ用に 100 GiB +
Google Cloud Observability 用に 240 GiB +
1 つの管理クラスタ コントロール プレーン ノード× 40 GiB/ノード +
2 つのアドオンノード x 40 GiB/ノード +
4 つのユーザー クラスタ コントロール プレーン ノード x 60 GiB/ノード
740 GiB

次の表は、管理ワークステーションと管理クラスタの合計の CPU、RAM、ストレージの要件を示したものです。リソースプール 1 とデータストア 1 で、次のリソースを提供できる必要があります。

例: リソースプール 1 とデータストア 1 の合計要件
vCPU 29 vCPU
RAM 73 GiB
ストレージ 790 GiB

リソースプール 2 とデータストア 2 の要件

リソースプール 2 には、クラスタ 2 の 8 つの ESXi ホストにより提供される CPU と RAM の一部が予約されています。リソースプール 2 には、両方のユーザー クラスタの要件を満たす十分な CPU と RAM が必要です。さらに、データストア 1 には、両方のユーザー クラスタの要件を満たす十分なストレージが必要です。

2 つのユーザー クラスタを示す図

1 つ目のユーザー クラスタのリソース要件は、次のとおりです。

例: 最初のユーザー クラスタの要件
CPU 20 個のノード x 6 つの vCPU/ノード 120 個の vCPU
RAM 20 個のノード x 16 GiB/ノード 320 GiB
ストレージ Google Cloud Observability 用に 240 GiB +
20 個のノード x 40 GiB/ノード
1,040 GiB

2 つ目のユーザー クラスタのリソース要件は、次のとおりです。

例: 2 番目のユーザー クラスタの要件
CPU 8 つのノード x 4 つの vCPU/ノード 32 個の vCPU
RAM 8 つのノード x 8 GiB/ノード 64 GiB
ストレージ Google Cloud Observability 用に 240 GiB +
8 つのノード x 40 GiB/ノード
560 GiB

次の表は、2 つのユーザー クラスタの合計の CPU、RAM、ストレージの要件を示しています。リソースプール 2 とデータストア 2 は、次のリソースを提供できる必要があります。

例: リソースプール 2 とデータストア 2 の合計要件
CPU 152 vCPU
RAM 384 GiB
ストレージ 1,600 GiB

リソースのオーバーコミット

vSphere は、メモリのオーバーコミットCPU のオーバーコミットなどのリソースのオーバーコミットをサポートしています。したがって、クラスタ内のリソースプールによって予約されるリソースの合計量は、クラスタ内の ESXi ホストが提供する物理リソース量を上回る可能性があります。

このドキュメントに示した要件は、予約済みの仮想リソースに関するものです。概念実証に必要とされる物理的な詳細については、CPU、RAM、ストレージの最小要件をご覧ください。

リソース競合をモニタリングする

リソース競合のシグナルをモニタリングして、リソースプールとデータストアが、構成済みの仮想リソースをサポートできることを確認してください。詳細については、VM のヘルス ステータス ダッシュボードを作成するをご覧ください。

ディスクのプロビジョニング

次の表に、さまざまなストレージ ディスクに対する VMware のシンディスクとシックディスクのプロビジョニング ポリシーを示します。

ストレージ ディスク サイズ ディスク プロビジョニング ポリシー
デフォルト ユーザー選択
管理 etcd 100 GB シン ×
ユーザー etcd 40 GB シン ×
ノード OS / ブートディスク 40 GB - デフォルトと最小
(ユーザーが構成可能)
シック
(遅延ゼロ)
×
その他(ログなど) 240 GB シン ×
ユーザー ワークロード シン