JSON 仕様と VMware Cloud Foundation API を使用して、管理ドメインまたは VI ワークロード ドメイン内のクラスタを拡張します。
前提条件
- vCenter Server が動作していることを確認します。
- 管理ドメインまたは VI ワークロード ドメインの展開オプションが含まれた『プランニングおよび準備ガイド』が完成していることを確認します。
- 環境が『プランニングおよび準備ガイド』の「前提条件チェックリスト」シートに記載されている要件を満たしていることを確認します。
- アベイラビリティ ゾーン 2 のネットワーク プールを作成します。
- アベイラビリティ ゾーン 2 のホストをコミッショニングします。ホストのコミッショニング を参照してください。
- 各アベイラビリティ ゾーンのホストが同数になるように、十分な数のホストがあることを確認します。これは、1 つのアベイラビリティ ゾーンが完全に停止した場合に十分なリソースが確保されるようにするためです。
- vSAN 監視ホストを展開および構成します。vSAN Witness(監視)ホストの展開および構成を参照してください。
- VI ワークロード ドメイン内のクラスタをストレッチする場合は、デフォルトの管理 vSphere クラスタがストレッチされている必要があります。
注: 次の場合はクラスタをストレッチできません。
- クラスタが NSX ホスト オーバーレイ ネットワーク TEP に静的 IP アドレスを使用する。
- クラスタに vSAN リモート データストアがマウントされている。
- クラスタが vSphere Lifecycle Manager イメージを使用する。
- クラスタが vSAN ストレージ ポリシーを他のクラスタと共有している。
- クラスタでワークロード管理 (vSphere with Tanzu) が有効になっている。
手順
- テキスト エディタで、次の内容を含む JSON 仕様を作成します。
次の例は、単一の vSphere Distributed Switch を持つ環境を対象としています。複数の vSphere Distributed Switch がある場合は、JSON 仕様の作成の詳細について『 VMware Cloud Foundation API リファレンス ガイド』を参照してください。注: アベイラビリティ ゾーン 2 に追加する ESXi ホストは、アベイラビリティ ゾーン 1 の既存のホストと同じ vmnic-vSphere Distributed Switch マッピングを使用する必要があります。たとえば、アベイラビリティ ゾーン 1 のホストが vmnic0 と vmnic1 を vSphere Distributed Switch 1 にマッピングし、vmnic2 と vmnic3 を vSphere Distributed Switch 2 にマッピングする場合、アベイラビリティ ゾーン 2 に追加するホストは同じ vminc を同じ vSphere Distributed Switch にマッピングする必要があります。注: VCF+ を使用している場合、ライセンス キーは必要ありません。
{ "clusterStretchSpec": { "hostSpecs": [{ "id": "<ESXi host 1 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 2 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 3 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 4 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }], "witnessSpec": { "vsanIp": "<IP address of vSAN witness host>", "fqdn": "<fqdn of vSAN witness host>", "vsanCidr": "<cidr of vSAN witness host>" }, "witnessTrafficSharedWithVsanTraffic": false, "secondaryAzOverlayVlanId": <availability Zone 2 Overlay VLAN ID>, "isEdgeClusterConfiguredForMultiAZ": true } }
注:vsanCIDR
とvsanIP
の値は、vSAN が有効になっている監視アプライアンス用です。 - ナビゲーション ペインで、[デベロッパー センター] > [API Explorer] の順にクリックします。
- JSON 仕様の各 ESXi ホストの一意の ID を取得して置き換えます。
- [ホスト管理用の API] セクションを展開し、[GET /v1/hosts] を展開します。
- [ステータス] テキスト ボックスに、UNASSIGNED_USEABLE と入力して、[実行] をクリックします。
- [応答] セクションで、[PageOfHost] をクリックし、各ホストの
id
要素をコピーして、JSON 仕様のそれぞれの値を置き換えます。ESXi ホスト
値
ESXi ホスト 1
ESXi ホスト 1 の ID ESXi ホスト 2
ESXi ホスト 2 の ID ESXi ホスト 3
ESXi ホスト 3 の ID ESXi ホスト 4
ESXi ホスト 4 の ID
- JSON 仕様のライセンス キーの値を有効なキーに置き換えます。
- 管理クラスタの一意の ID を取得します。
- [クラスタ管理用の API] セクションを展開し、[GET /v1/cluster] を展開します。
- [実行] をクリックします。
- [応答] セクションで、[PageOfCluster] をクリックし、管理クラスタの
id
要素をコピーします。以降の手順では、クラスタ ID が必要になります。
- JSON 仕様ファイルを検証します。
- [クラスタ管理用の API] セクションを展開し、[POST /v1/clusters/{id}/validations] を展開します。
- [値] テキスト ボックスに、手順 5 で取得した管理クラスタの一意の ID を入力します。
- [clusterUpdateSpec] テキスト ボックスに、次のように入力します。
{ "clusterUpdateSpec": }
- JSON 仕様を貼り付けます。
例:
{ "clusterUpdateSpec": { "clusterStretchSpec": { "hostSpecs": [{ "id": "<ESXi host 1 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 2 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 3 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 4 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }], "witnessSpec": { "vsanIp": "<IP address of vSAN witness host>", "fqdn": "<fqdn of vSAN witness host>", "vsanCidr": "<cidr of vSAN witness host>" }, "witnessTrafficSharedWithVsanTraffic": false, "secondaryAzOverlayVlanId": <availability Zone 2 Overlay VLAN ID>, "isEdgeClusterConfiguredForMultiAZ": true } } }
- [実行] をクリックします。
- 確認ダイアログ ボックスで [続行] をクリックします。
- [応答] セクションで、[結果] セクションを展開し、応答が
SUCCEEDED
であることを確認します。
- JSON 仕様を使用してクラスタをストレッチします。
- [クラスタ管理用の API] セクションを展開し、[PATCH /v1/clusters/{id}] を展開します。
- 管理クラスタの一意の
ID
を [値] テキスト ボックスに貼り付けます。 - [clusterUpdateSpec] テキスト ボックスに JSON 仕様を貼り付けます。
例:
{ "clusterStretchSpec": { "hostSpecs": [{ "id": "<ESXi host 1 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 2 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 3 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }, { "id": "<ESXi host 4 ID>", "licenseKey": "XX0XX-XX0XX-XX0XX-XX0XX-XX0XX", "hostNetworkSpec": { "vmNics": [{ "id": "vmnic0", "vdsName": "<vSphere Distributed Switch 1>" }, { "id": "vmnic1", "vdsName": "<vSphere Distributed Switch 2>" } ] } }], "witnessSpec": { "vsanIp": "<IP address of vSAN witness host>", "fqdn": "<fqdn of vSAN witness host>", "vsanCidr": "<cidr of vSAN witness host>" }, "witnessTrafficSharedWithVsanTraffic": false, "secondaryAzOverlayVlanId": <availability Zone 2 Overlay VLAN ID>, "isEdgeClusterConfiguredForMultiAZ": true } }
- [実行] をクリックします。
- 確認ダイアログ ボックスで [続行] をクリックします。