vSphere の要件

GKE on VMware は、vSphere 環境内のオンプレミスで実行されます。このドキュメントでは、vSphere 環境の要件について説明します。

バージョンの互換性

vSphere の要件は、使用している GKE on VMware のバージョンによって異なります。詳細については、完全にサポートされたバージョン以前のバージョンのバージョン互換性マトリックスをご覧ください。

サポート対象のバージョン

vSphere は、VMware のサーバー仮想化ソフトウェアです。vSphere には ESXivCenter Server が含まれています。

GKE on VMware は、次のバージョンの ESXivCenter Server をサポートしています。

  • バージョン 7.0 の 7.0 Update 2 以降のアップデート
  • バージョン 8.0 の 8.0 以降のアップデート

8.0またはバージョン 7.0 の 7.0 Update 3 以降のアップデートを使用することをおすすめします。

CSI ボリューム スナップショットを作成する場合は、次のいずれかのバージョンが必要です。

  • バージョン 7.0 の 7.0 Update 3 以降のアップデート
  • バージョン 8.0 の 8.0 以降のアップデート

ライセンス要件

次のいずれかのライセンスが必要です。

  • vSphere Enterprise Plus ライセンス。このライセンスに加えて、有効なサポート サブスクリプションが必要です。

  • vSphere Standard ライセンス。このライセンスに加えて、有効なサポート サブスクリプションが必要です。 このライセンスで、反アフィニティ グループは有効にできません。また、独自のリソースプールを指定することもできません。デフォルトのリソースプールを使用する必要があります。

ハードウェア要件

GKE on VMware は、VMware ESXi ハイパーバイザを実行する一連の物理ホストで実行されます。ESXi のハードウェア要件については、ESXi ハードウェア要件をご覧ください。

本番環境では、次のことを強くおすすめします。

antiAffinityGroups.enabledtrue に設定すると、GKE on VMware はクラスタノード用に DRS 反アフィニティ ルールを作成し、3 つ以上の物理 ESXi ホストにそれらを分散させます。DRS ルールでは、クラスタノードを 3 つの ESXi ホストに分散することを要求していますが、少なくとも 4 つの ESXi ホストを用意することを強くおすすめします。これにより、クラスタ コントロール プレーンが失われなくなります。たとえば、ESXi ホストが 3 つだけで、管理クラスタのコントロール プレーン ノードが障害が発生した ESXi ホストにあるとします。DRS ルールにより、残りの 2 つの ESXi ホストのいずれにもコントロール プレーン ノードは配置されなくなります。

評価と概念実証のために、antiAffinityGroups.enabledfalse に設定し、ESXi ホストを 1 つだけ使用できます。詳細については、最小限のインフラストラクチャを設定するをご覧ください。

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

vSphere 環境を設定するために、組織管理者は vCenter Server 管理者のロールを持つ vCenter ユーザー アカウントを使用できます。このロールは、すべての vSphere オブジェクトに対する完全アクセス権を付与します。

vSphere 環境の設定後、クラスタ管理者は管理クラスタとユーザー クラスタを作成できます。クラスタ管理者に vCenter Server 管理者ロールのすべての権限は必要ありません。

クラスタ管理者またはデベロッパーがクラスタを作成すると、認証情報構成ファイルに vCenter ユーザー アカウントが作成されます。認証情報の構成ファイルにリストされる vCenter ユーザー アカウントには、クラスタの作成と管理に必要最小限の権限を持つ 1 つ以上のカスタムロールを割り当てることをおすすめします。

組織管理者が実施できるアプローチは 2 つあります。

  • 権限の異なるロールをいくつか作成します。次に、これらの制限付きロールを個別の vSphere オブジェクトのユーザーまたはグループに割り当てる権限を作成します。

  • 必要なすべての権限を持つ 1 つのロールを作成します。次に、vSphere 階層内のすべてのオブジェクトに関して特定のユーザーまたはグループにそのロールを割り当てるグローバル権限を作成します。

アクセスが制限され、vCenter Server 環境のセキュリティを強化できることから、1つ目のアプローチをおすすめします。詳細については、ロールを使用して権限を割り当てるロールと権限に関するベスト プラクティスをご覧ください。

2 つ目のアプローチの実施については、1 つのグローバル権限を作成するをご覧ください。

次の表に、組織管理者が作成できる 4 つのカスタムロールを示します。管理者はカスタムロールを使用して、特定の vSphere オブジェクトに対する権限を割り当てることができます。

カスタムロール権限オブジェクト子オブジェクトへ
伝播しますか?
ClusterEditor System.Read
System.View
System.Anonymous
Host.Inventory.Modify cluster
クラスタ
SessionValidator System.Read
System.View
System.Anonymous
Sessions.Validate セッション
Cns.Searchable
プロファイルに基づくストレージ。プロファイルに基づくストレージ ビュー
ルート vCenter Server No
読み取りのみ System.Read
System.View
System.Anonymous
ドライブはGoogleの世界的に最適化された データセンター
ネットワーク上に構築されています
Anthos Anthos のロールの特権 データストア
リソースプール
VM フォルダ
ネットワーク

Anthos カスタムロールでの権限

カスタムロールと権限を作成する

組織管理者は、govc コマンドライン ツールを使用してカスタムロールと権限を作成できます。

組織管理者には、ロールと権限を作成するための十分な権限を持つ vCenter Server アカウントが必要です。たとえば、管理者ロールを持つアカウントが適切です。

govc を実行する前に、いくつかの環境変数を設定します。

  • GOVC_URL を vCenter Server インスタンスの URL に設定します。

  • GOVC_USERNAME を組織管理者の vCenter Server アカウントのユーザー名に設定します。

  • GOVC_PASSWORD を組織管理者の vCenter Server アカウントのパスワードに設定します。

例:

export GOVC_URL=vc-01.example
export GOVC_USERNAME=alice@vsphere.local
export GOVC_PASSWORD=8ODQYHo2Yl@

カスタムロールを作成する

ClusterEditor、SessionValidator、ReadOnly のカスタムロールを作成します。

govc role.create ClusterEditor System.Read System.View System.Anonymous Host.Inventory.EditCluster
govc role.create SessionValidator System.Read System.View System.Anonymous Sessions.ValidateSession Cns.Searchable StorageProfile.View
govc role.create ReadOnly System.Read System.View System.Anonymous

ClusterEditor ロールを付与する権限を作成する

権限は、(ユーザー、ロール)ペアを取得しオブジェクトに関連付けます。オブジェクトに権限を割り当てる際、権限を子オブジェクトに伝播するかどうかを指定できます。govc の場合は、--propagate フラグを true または false に設定してこの処理を行います。デフォルトは false です。

クラスタ オブジェクトのユーザーに ClusterEditor ロールを付与する権限を作成します。この権限は、クラスタ オブジェクトのすべての子オブジェクトに伝播されます。

govc permissions.set -principal ACCOUNT \
 -role ClusterEditor -propagate=true CLUSTER_PATH`

以下を置き換えます。

  • ACCOUNT: ロールが付与される vCenter Server ユーザー アカウント

  • CLUSTER_PATH: vSphere オブジェクト階層内のクラスタのパス

たとえば、次のコマンドはペア(bob@vsphere.local、ClusterEditor を my-dc/host/my-cluster に)関連付ける権限を作成します。権限は、my-dc/host/my-cluster のすべての子オブジェクトに伝播されます。

govc permissions.set -principal bob@vsphere.local \
    -role ClusterEditor -propagate=true my-dc/host/my-cluster

追加の権限を作成する

このセクションでは、追加の権限を作成する例を示します。ご使用の環境に応じて、サンプル オブジェクトのパスを置き換えてください。

ルート vCenter Server オブジェクトのアカウントに SessionValidator ロールを付与する権限を作成します。この権限は、子オブジェクトに伝播されません。

govc permissions.set -principal ACCOUNT \
    -role SessionValidator -propagate=false

データセンター オブジェクトとネットワーク オブジェクトのアカウントに ReadOnly ロールを付与する権限を作成します。これらの権限は、子オブジェクトに伝播されます。

govc permissions.set -principal ACCOUNT \
    -role ReadOnly -propagate=true \
    /my-dc \
    /my-dc/network/my-net

データストア、VM フォルダ、リソースプール、ネットワークの 4 つのオブジェクトに関する Anthos のロールをアカウントに付与する権限を作成します。これらの権限は、子オブジェクトに伝播されます。

govc permissions.set -principal ACCOUNT -role Anthos -propagate=true \
    /my-dc/datastore/my-ds  \
    /my-dc/vm/my-folder \
    /my-dc/host/my-cluster/Resources/my-rp \
    /my-dc/network/my-net

グローバル権限を 1 つ作成する

このセクションでは、複数のロールと複数の権限を作成する代替手段について説明します。この方法は、vSphere 階層内のすべてのオブジェクトに対して広範な権限を付与するため、おすすめしません。

Anthos カスタムロールをまだ作成していない場合は、今すぐ作成します。

グローバル権限を 1 つ作成する

govc permissions.set -principal ACCOUNT \
 -role Anthos -propagate=true

以下を置き換えます。

ACCOUNT は、ロールが付与される vCenter Server ユーザー アカウントに置き換えます。

たとえば、次のコマンドは、Anthos ロールを bob@vsphere.local に付与するグローバル権限を作成します。この権限は、vSphere 階層内のすべてのオブジェクトに伝播されます。

govc permissions.set -principal bob@vsphere.local -role Anthos -propagate=true

既知の問題

vSphere データディスクの作成時にインストーラが失敗するをご覧ください。

次のステップ

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