このセクションでは、VMware Cloud Director Container Service Extension 4.1 でのエアギャップ環境のサポートと、ローカル コンテナ レジストリの使用について詳しく説明します。

注: エアギャップ環境で正常に動作できるのは、 VMware Cloud Director Container Service Extension 4.1 でプロビジョニングされたクラスタのみです。 VMware Cloud Director Container Service Extension 4.1 では、既存のクラスタを VMware Cloud Director Container Service Extension 4.0.x からエアギャップ クラスタに変換することはできません。
次の図に、ローカル コンテナ レジストリを使用した VMware Cloud Director Container Service Extension 4.1 エアギャップ環境と、サービス プロバイダのワークフローの詳細を示します。これは、 VMware Cloud Director Container Service Extension 4.1 のデフォルトの構造です。 この図は、エアギャップ環境での CSE の動作を示しています。

ローカル コンテナ レジストリ

サービス プロバイダは Harbor を使用して、VMware パブリック Harbor からのイメージ ファイルを含むシステム全体のローカル コンテナ レジストリを設定します。これにより、テナント ユーザーはエアギャップ環境で VMware Cloud Director Container Service Extension 4.1 を操作できます。このタイプの環境では、テナント ユーザーはインターネット アクセスがなくても、組織のデータセンターの境界内で VMware Cloud Director Container Service Extension を通常どおりに操作できます。

サービス プロバイダは VMware Cloud Director Container Service Extension 4.1 サーバ構成ワークフローの中で、Kubernetes Container Clusters 4.1 ユーザー インターフェイス プラグインの [CSE サーバの設定] セクションにある [コンテナ レジストリの設定] タブでローカル コンテナ レジストリの URL を指定します。そのため、テナント ユーザーが Kubernetes Container Clusters 4.1 ユーザー インターフェイス プラグインで Tanzu Kubernetes Grid クラスタの作成を試みると、クラスタ内の Kubernetes Cluster API Provider for VMware Cloud Director、ブートストラップ仮想マシン、制御プレーン、ワーカー ノードは、指定されたローカル コンテナ レジストリを使用するように指示されます。ローカル コンテナ レジストリの構成の詳細については、「サーバーの詳細」を参照してください。サービス プロバイダは、テナント ユーザーに公開されてアクセス可能になるファイルを組織が制御できるように、プライベート レジストリを調整することもできます。

エアギャップ環境の作成

このセクションでは、VMware Cloud Director Container Service Extension エアギャップ環境をセットアップし、VMware Cloud Director Container Service Extension が操作する必要のある依存関係を含むローカル コンテナ レジストリをテナント ユーザー向けに作成するために、サービス プロバイダが実行する必要がある手順について詳しく説明します。

前提条件

  • Docker エンジンまたは cli があり、ローカル マシンに imgpkg がインストールされていることを確認します。
    • Docker をインストールするには、「Docker Desktop」を参照してください。
    • imgpkg をインストールするには、「Carvel: imgpkg」を参照してください。
  • VMware Cloud Director Container Service Extension サーバおよび目的のテナント データセンターから VMware Cloud Director パブリック エンドポイントにアクセスできることを確認します。これは、ブートストラップ仮想マシン、Kubernetes Cloud Provider for VMware Cloud DirectorKubernetes Cluster API Provider for VMware Cloud DirectorKubernetes Container Storage Interface driver for VMware Cloud Director が呼び出しを行うときに必要となります。
  • レジストリと VMware Cloud Director エンドポイントを解決する DNS サーバ。
  • ブートストラップ仮想マシンおよび他のすべての制御プレーンまたはワーカー仮想マシンがイメージをプルできる、ローカル コンテナ レジストリ URL を指定します。詳細については、「ローカル コンテナ レジストリ」を参照してください。
  • プライベート レジストリで自己署名証明書が使用されている場合は、ブートストラップ仮想マシンとクラスタ証明書セクションを自己署名証明書で更新します。この手順により、ブートストラップ仮想マシンやノード仮想マシンなどのクラスタ仮想マシンがプライベート レジストリを信頼できるようになります。詳細については、サーバーの詳細を参照してください。

    次のスクリーンショットに、VMware Cloud Director 用の Kubernetes Container Clusters ユーザー インターフェイス プラグインでコンテナ レジストリの設定と証明書を構成するワークフローの詳細を示します。

    このスクリーンショットは、Kubernetes Container Cluster ユーザー インターフェイス プラグインでのコンテナ レジストリ設定の詳細を示しています。
  • http://projects.registry.vmware.com からローカル マシンに VMware Cloud Director Container Service Extension バイナリをダウンロードするために、インターネットにアクセスできることを確認します。

手順

  1. Docker を開き、次のコマンドを使用して http://projects.registry.vmware.com から getting-started_airgapped イメージをプルします。
    docker pull projects.registry.vmware.com/vmware-cloud-director/getting-started-airgapped:v0.1.0
  2. イメージを展開してスクリプトにアクセスし、ローカル ディレクトリを作成します。
    docker create -name "temp_container" projects.registry.vmware.com/vmware-cloud-director/getting-started-airgapped:v0.1.0
    docker export "temp_container" -o temp_container.tar
    docker container rm "temp_container"
    mkdir -p temp_container_fs
    tar xvf temp_container.tar -C temp_container_fs
    cd ./temp_container_fs/src/artifact
  3. このディレクトリで、次のスクリプトを実行して依存関係を組織のローカル コンテナ レジストリに公開します。次に示すように、レジストリのパスには厳密な依存関係があります。
    ./getting_started "dependencies.txt" base.myregistry.company.com
    注:
    • getting-started-airgapped イメージ内にあるデフォルトの dependencies.txt には、Tanzu Kubernetes Grid 1.6.1、2.1.1、および 2.2.0 向けのエアギャップ環境で VMware Cloud Director Container Service Extension を使用するために必要なコンテナの完全なリストが含まれています。
    • dependencies.txt ファイルを編集して、ダウンロードするコンポーネントをカスタマイズできます。dependencies.txt の対応する行の前に # を挿入することで、エアギャップ コンポーネントの処理を抑制できます。
  4. projects.registry.vmware.com からローカル コンテナ レジストリに Tanzu コア パッケージをアップロードする必要があります。これを行うには、次のうち該当するリリースの Tanzu Kubernetes Grid の手順を使用します。
    注: VMware Cloud Director Container Service Extension 4.1 では、 Tanzu Kubernetes Grid イメージがアップロードされるパスに厳密な依存関係があります。
    • レジストリのベースが base.myregistry.company.com の場合、Tanzu Kubernetes Grid のコンテンツは base.myregistry.company.com/tkg にアップロードする必要があります。
    • レジストリのベースが base.myregistry.company.com の場合、VMware Cloud Director のイメージは base.myregistry.company.com/vmware-cloud-director にアップロードする必要があります。

      これは、サブパス tkgvmware-cloud-director が同じ場所に並ぶ必要があることを意味します。

結果

エアギャップ環境がセットアップされ、すべての必要なリソースがローカル コンテナ レジストリ内にあるため、組織はインターネット アクセスがなくても VMware Cloud Director Container Service Extension を使用できます。