vSphere 管理者が vSphere クラスタ上の [ワークロード管理] プラットフォームを有効にするには、ワークロードに接続できるように vSphere ネットワーク スタックを構成する必要があります。vSphere ネットワークを使用するように構成された スーパーバイザー クラスタ では、Tanzu Kubernetes Grid サービス を使用して作成された Tanzu Kubernetes クラスタのデプロイがサポートされます。vSphere ポッド を実行したり、組み込みの Harbor レジストリ を使用したりすることはできません。

注意: スーパーバイザー クラスタ を構成した後に vSphere DRS を無効にしないでください。DRS を常に有効にすることは、 スーパーバイザー クラスタ でワークロードを実行するための必須の前提条件です。 Tanzu Kubernetes DRS を無効にすると、クラスタが破損します。

前提条件

手順

  1. ホーム メニューから、[ワークロード管理] を選択します。
  2. スーパーバイザー クラスタ のライセンス オプションを選択します。
    • 有効な Tanzu エディション ライセンスを所有している場合は、[ライセンスの追加] をクリックして、vSphere のライセンス インベントリにライセンス キーを追加します。

    • Tanzu エディション ライセンスをまだ所有していない場合は、VMware からの連絡を受信できるように、連絡先の詳細を入力してから、[開始する] をクリックします。

    スーパーバイザー クラスタ の評価期間は、60 日間です。この期間内に、有効な Tanzu エディション ライセンスをクラスタに割り当てる必要があります。Tanzu エディション ライセンス キーを追加した場合は、スーパーバイザー クラスタ の設定を完了した後、60 日の評価期間内にそのキーを割り当てることができます。

  3. [ワークロード管理] 画面で、[開始する] を再度クリックします。
  4. vCenter Server システムを選択し、[vCenter Server ネットワーク] を選択して、[次へ] をクリックします。
  5. 互換性のあるクラスタのリストからクラスタを選択します。
  6. [制御プレーンのサイズ] 画面で、クラスタの各ホスト上で作成される Kubernetes 制御プレーン仮想マシンのサイズを選択します。

    スーパーバイザー クラスタ で管理できる Kubernetes ワークロードの数は、制御プレーン仮想マシンに割り当てるリソースの量によって決まります。

  7. [ロード バランサ] 画面で、使用するロード バランサを選択します。NSX Advanced Load Balancer または HAProxy を選択できます。
    • NSX Advanced Load Balancer の場合は次の設定を入力します。

      オプション

      説明

      名前

      NSX Advanced Load Balancer の名前を入力します。

      Avi Controller の IP アドレス

      NSX Advanced Load Balancer Controller の IP アドレス。

      デフォルトのポートは 443 です。

      ユーザー名

      NSX Advanced Load Balancer を使用して構成されたユーザー名。このユーザー名は、コントローラへのアクセスに使用します。

      パスワード

      ユーザー名のパスワード。

      サーバ認証局

      コントローラによって使用される証明書。

      構成時に割り当てた証明書を指定できます。

      詳細については、コントローラへの証明書の割り当てを参照してください。

    • HAProxy の場合は次の設定を入力します。

      オプション

      説明

      名前

      ロード バランサのわかりやすい名前。

      データ プレーン API のアドレス

      HAProxy データ プレーン API の IP アドレスとポート。このコンポーネントは、HAProxy サーバを制御し、HAProxy 仮想マシン内で実行されます。

      ユーザー名

      HAProxy OVA ファイルを使用して構成されたユーザー名。この名前は、HAProxy データ プレーン API での認証に使用します。

      パスワード

      ユーザー名のパスワード。

      仮想サーバの IP アドレス範囲

      Tanzu Kubernetes クラスタによってワークロード ネットワークで使用される IP アドレスの範囲。この IP アドレス範囲は、HAProxy アプライアンスのデプロイ時に構成した CIDR で定義された IP アドレスのリストから取得されます。通常、この範囲は、HAProxy のデプロイ時に指定された範囲全体になりますが、この CIDR のサブセットにすることもできます。複数のスーパーバイザー クラスタを作成し、CIDR 範囲内の複数の IP アドレスを使用することがあるためです。この範囲は、このウィザードでワークロード ネットワーク用に定義されている IP アドレス範囲と重複することはできません。また、この範囲は、このワークロード ネットワークの DHCP 範囲とも重複することができません。

      サーバ認証局

      署名済みの PEM 形式の証明書、またはデータ プレーン API によって提供されるサーバ証明書の信頼できるルートである PEM 形式の証明書。

      • オプション 1:root アクセスが有効な場合に、HAProxy 仮想マシンに root として SSH 接続し、[サーバ認証局]/etc/haproxy/ca.crt をコピーします。\n 形式のエスケープ行を使用しないでください。

      • オプション 2:HAProxy 仮想マシンを右クリックし、[設定の編集] を選択します。適切なフィールドから CA 証明書をコピーし、https://www.base64decode.org/ などの変換ツールを使用して Base64 から変換します。

      • オプション 3:次の PowerCLI スクリプトを実行します。変数 $vc$vc_user$vc_password の値を適切な値に置き換えます。

        $vc = "10.21.32.43"
        $vc_user = "administrator@vsphere.local"
        $vc_password = "PASSWORD"
        Connect-VIServer -User $vc_user -Password $vc_password -Server $vc
        $VMname = "haproxy-demo"
        $AdvancedSettingName = "guestinfo.dataplaneapi.cacert"
        $Base64cert = get-vm $VMname |Get-AdvancedSetting -Name $AdvancedSettingName
        while ([string]::IsNullOrEmpty($Base64cert.Value)) {
             Write-Host "Waiting for CA Cert Generation... This may take a under 5-10
        minutes as the VM needs to boot and generate the CA Cert
        (if you haven't provided one already)."
             $Base64cert = get-vm $VMname |Get-AdvancedSetting -Name $AdvancedSettingName
             Start-sleep -seconds 2
             }
             Write-Host "CA Cert Found... Converting from BASE64" 
             $cert = [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($Base64cert.Value))
        Write-Host $cert
  8. [管理ネットワーク] 画面で、Kubernetes 制御プレーン仮想マシンに使用されるネットワークのパラメータを構成します。
    1. [ネットワーク モード] を選択します。
      • [DHCP ネットワーク]。このモードでは、制御プレーン仮想マシンの IP アドレス、フローティング IP アドレス、DNS サーバ、DNS、検索ドメイン、NTP サーバなど、管理ネットワークのすべての IP アドレスが DHCP サーバから自動的に取得されます。フローティング IP アドレスを取得するためには、クライアント ID をサポートするように DHCP サーバを構成する必要があります。DHCP モードでは、すべての制御プレーン仮想マシンが安定した DHCP クライアント ID を使用して IP アドレスを取得します。これらのクライアント ID を使用すると、DHCP サーバ上の制御プレーン仮想マシンの IP アドレスに対して固定 IP アドレス割り当てを設定して、IP アドレスが変更されないようにすることができます。制御プレーン仮想マシンの IP アドレスとフローティング IP アドレスの変更はサポートされていません。

      • [固定]。管理ネットワークのすべてのネットワーク設定を手動で入力します。

    2. 管理ネットワークの設定を構成します。

      DHCP ネットワーク モードを選択した場合に、DHCP から取得した設定をオーバーライドするには、[追加設定] をクリックして新しい値を入力します。固定ネットワーク モードを選択した場合は、管理ネットワーク設定の値を手動で入力します。

      オプション 説明

      ネットワーク

      VMkernel アダプタが管理トラフィック用に構成されているネットワークを選択します。

      開始制御 IP アドレス

      Kubernetes 制御プレーン仮想マシンに連続する 5 つの IP アドレスを予約するための開始点を決定する IP アドレスを、次のように入力します。

      • Kubernetes 制御プレーン仮想マシンそれぞれの IP アドレス。

      • 管理ネットワークへのインターフェイスとして機能するいずれかの Kubernetes 制御プレーン仮想マシンのフローティング IP アドレス。フローティング IP アドレスが割り当てられた制御プレーン仮想マシンは、3 台すべての Kubernetes 制御プレーン仮想マシンの中で主要な仮想マシンとして機能します。フローティング IP アドレスは、Kubernetes クラスタ内の ectd リーダーである制御プレーン ノードに移動されます。これにより、ネットワーク パーティション イベントが発生した場合に、可用性が向上します。

      • Kubernetes 制御プレーン仮想マシンで障害が発生し、新しい制御プレーン仮想マシンが引き継ぐため起動しているときにバッファとして機能する IP アドレス。

      サブネット マスク

      固定 IP 構成にのみ適用されます。管理ネットワークのサブネット マスクを入力します。

      たとえば、255.255.255.0

      DNS サーバ

      環境内で使用する DNS サーバのアドレスを入力します。vCenter Server システムが FQDN で登録されている場合は、vSphere 環境で使用する DNS サーバの IP アドレスを入力して、スーパーバイザー クラスタ で FQDN を解決できるようにする必要があります。

      DNS 検索ドメイン

      DNS が Kubernetes 制御プレーン ノード内で検索するドメイン名(corp.local など)を入力して、DNS サーバで解決できるようにします。

      NTP

      環境内で使用する NTP サーバがある場合は、そのアドレスを入力します。

  9. [ワークロード ネットワーク] 画面で、スーパーバイザー クラスタ 上で実行されている Kubernetes ワークロードのネットワーク トラフィックを処理するネットワークの設定を入力します。
    注:

    ワークロード ネットワークのネットワーク設定に DHCP サーバを使用する場合、スーパーバイザー クラスタ の構成を完了した後に新しいワークロード ネットワークを作成することはできません。

    1. ネットワーク モードを選択します。
      • [DHCP ネットワーク]。このネットワーク モードでは、ワークロード ネットワークのすべてのネットワーク設定が DHCP を介して取得されます。

      • [固定]。ワークロード ネットワーク設定を手動で構成します。

    2. スーパーバイザー クラスタ に対してプライマリ ワークロード ネットワークとして機能するポート グループを選択します。

      プライマリ ネットワークは、Kubernetes 制御プレーン仮想マシンのトラフィックと Kubernetes ワークロード トラフィックを処理します。

      ネットワーク トポロジによっては、ネットワークとして機能する別のポート グループを後で各名前空間に割り当てることができます。これにより、スーパーバイザー クラスタ の名前空間の間でレイヤー 2 の隔離が可能になります。名前空間のネットワークとして別のポート グループが割り当てられていない場合は、プライマリ ネットワークが使用されます。Tanzu Kubernetes クラスタで使用されるネットワークは、そのクラスタがデプロイされた名前空間に割り当てられているネットワークのみです。その名前空間にネットワークが明示的に割り当てられていない場合は、プライマリ ネットワークが使用されます。

    3. ワークロード ネットワークの設定を構成します。

      DHCP ネットワーク モードを選択した場合、[その他の設定] セクションのすべての値は DHCP サーバから自動的に入力されます。これらの値をオーバーライドする場合は、[その他の設定] をクリックして新しい値を入力します。[固定] ネットワーク モードを選択した場合は、すべての設定を手動で入力します。

    オプション 説明

    Kubernetes サービスの内部ネットワーク

    Tanzu Kubernetes クラスタおよびクラスタ内で実行されるサービスの IP アドレスの範囲を決定する CIDR 表記を入力します。

    ネットワーク名

    ネットワーク名を入力します。

    DNS サーバ

    環境内で使用する DNS サーバがある場合は、その IP アドレスを入力します。

    たとえば、10.142.7.1 のように入力します。

    DNS サーバの IP アドレスを入力すると、各制御プレーン仮想マシンにスタティック ルートが追加されます。これは、DNS サーバへのトラフィックがワークロード ネットワークを通過することを意味します。

    指定した DNS サーバが管理ネットワークとワークロード ネットワークの間で共有されている場合、制御プレーン仮想マシンの DNS ルックアップは、初期セットアップ後にワークロード ネットワークを介してルーティングされます。

    ゲートウェイ

    プライマリ ネットワークのゲートウェイを入力します。

    サブネット マスク IP

    サブネット マスク IP アドレスを入力します。

    IP アドレス範囲

    Kubernetes 制御プレーン仮想マシンおよびワークロードの IP アドレスを割り当てるために IP アドレス範囲を入力します。

    このアドレス範囲は スーパーバイザー クラスタ ノードに接続します。単一のワークロード ネットワークを使用している場合も、Tanzu Kubernetes クラスタ ノードに接続します。HAProxy に [デフォルト] 構成を使用している場合、この IP アドレス範囲がロード バランサの VIP 範囲と重複することはできません。

  10. [ストレージ] 画面で、ストレージおよびファイル ボリュームのサポートを構成します。
    1. スーパーバイザー クラスタ のストレージ ポリシーを選択します。

      次のオブジェクトごとに選択したストレージ ポリシーによって、そのオブジェクトがストレージ ポリシーで参照されるデータストアに配置されます。各オブジェクトには、同じストレージ ポリシーを使用することも異なるストレージ ポリシーを使用することもできます。

      オプション 説明

      制御プレーン ノード

      制御プレーン仮想マシンを配置するためのストレージ ポリシーを選択します。

      ポッドの短期ディスク

      vSphere ポッド を配置するためのストレージ ポリシーを選択します。

      コンテナ イメージ キャッシュ

      コンテナ イメージのキャッシュを配置するためのストレージ ポリシーを選択します。

    2. (オプション) ファイル ボリュームのサポートを有効にします。
      クラスタに ReadWriteMany パーシステント ボリュームをデプロイする予定がある場合、このオプションは必須です。 vSphere with Tanzu での ReadWriteMany パーシステント ボリュームの作成を参照してください。
  11. [Tanzu Kubernetes Grid] 画面で [追加] をクリックし、Tanzu Kubernetes クラスタのノードをデプロイするための仮想マシン イメージを含む、サブスクライブ済みコンテンツ ライブラリを選択します。
  12. 設定を確認して、[終了] をクリックします。

結果

タスクは、スーパーバイザー クラスタ を作成する vCenter Server で実行されます。このタスクが完了すると、vSphere クラスタ内のホスト上に 3 台の Kubernetes 制御プレーン仮想マシンが作成されます。

次のタスク

スーパーバイザー クラスタvSphere 名前空間 を作成して構成します。vSphere 名前空間 の作成と設定を参照してください。