インターネットが制限された環境の準備

Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタは、インターネットに接続されていない次のような環境に展開できます。

  • プロキシが設定された環境
  • インターネットへの物理的な接続がない、エアギャップされた環境

このトピックでは、vSphere または AWS 上のインターネットが制限された環境に管理クラスタを展開する方法について説明します。外部のインターネット接続を介してイメージをプルできる接続環境で Tanzu Kubernetes Grid を使用している場合、これらの手順を実行する必要はありません。

このドキュメントでは、エアギャップされた環境に Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタを展開する一般的な手順について説明します。エアギャップされた環境の特定の検証済み構成に管理クラスタとワークロード クラスタを展開するには、『VMware Tanzu Kubernetes Grid 2.3 エアギャップ リファレンス設計および展開』を参照してください。TKG v2.3 リファレンス設計は、TKG v2.3 と v2.4 の両方に適用されます。

この手順を実行する際、オンライン環境とオフライン環境で、単一のマシンまたは複数の異なるマシンをブートストラップ マシンとして使用できます。

(オプション)Harbor OVA のダウンロード

Harbor レジストリをインストールする場合は、Harbor OVA ファイルをダウンロードします。

  1. VMware Customer Connect にアクセスし、VMware Customer Connect の認証情報を使用してログインします。
  2. Tanzu Kubernetes Grid v2.3.1 製品ダウンロード」を参照します。
  3. Harbor OVA というラベルのセクションまでスクロールし、[今すぐダウンロード (Download Now)] をクリックします。
  4. (オプション)ダウンロードしたファイルが元のファイルから変更されていないことを確認します。VMware は、ダウンロードごとに SHA-1、SHA-256、および MD5 チェックサムを提供します。これらのチェックサムを取得するには、ダウンロードするエントリの下にある [詳細を表示] をクリックします。詳細については、「暗号化ハッシュの使用」を参照してください。

全般的な前提条件

インターネットが制限された環境に管理クラスタとワークロード クラスタを展開する際は、以下が必要です。

  • 次の条件を満たす、インターネットに接続された Linux ブートストラップ マシン。
  • クラスタ仮想マシンがプライベート レジストリ内のイメージにアクセスする手段:
    • プロキシが設定された環境: クラスタ仮想マシンがレジストリにアクセスできるようにする出力方向プロキシ サーバ。
      • このプロキシが設定された環境に管理クラスタを展開するときは、クラスタ構成ファイルの TKG_*_PROXY 変数をプロキシ サーバのアドレスに設定し、証明書が自己署名されている場合は TKG_PROXY_CA_CERT をプロキシ サーバの CA に設定します。「プロキシの構成」を参照してください。
    • エアギャップされた環境:レジストリにイメージが入力された後、プライベート レジストリをエアギャップの背後に配置するための USB サム ドライブまたはその他のメディア。
  • USB サム ドライブまたはその他のポータブル オフライン ストレージ デバイス。

vSphere の前提条件とアーキテクチャ

このドキュメントでは、エアギャップされた環境の vSphere ネットワークに Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタを展開する一般的な手順について説明します。エアギャップされた環境の vSphere ネットワークの特定の検証済み構成にクラスタを展開するには、『vSphere エアギャップ上の VMware Tanzu Kubernetes Grid のリファレンス設計』および『VMware Tanzu Kubernetes Grid 2.3 エアギャップ リファレンス設計および展開』ドキュメントの「エアギャップされた環境の vSphere ネットワークへの Tanzu Kubernetes Grid の展開」を参照してください。TKG v2.3 リファレンス設計は、TKG v2.3 と v2.4 の両方に適用されます。

vSphere のアーキテクチャ

vSphere 上のインターネットが制限された Tanzu Kubernetes Grid のインストールには、以下に示すように、主要コンポーネント間にファイアウォールと通信があります。

次の図は、オンライン環境とオフライン環境で、複数の異なるブートストラップ マシンが使用されるシナリオを示しています。

図:vSphere 上のエアギャップされた TKG

vSphere では、上記の一般的な前提条件に加えて、次の手順を実行する必要があります。

  • ノード仮想マシンの作成元となる OVA を vSphere にアップロードします。「vSphere への管理クラスタの展開」の「基本イメージ テンプレートの vSphere へのインポート」を参照してください。

    仮想マシンが作成された後、デフォルトのユーザー名/パスワードでログインできない場合は、「紛失した root パスワードのリセット」の説明に従って、Gnu GRUB を使用してパスワードをリセットします(Photon OS の場合)。

  • ジャンプボックスに root としてログインし、次のようにリモート SSH を有効にします。

    1. エディタで /etc/ssh/sshd_config ファイルを開きます。nano /etc/ssh/sshd_config
    2. ファイルの [認証 (Authentication)] セクションに PermitRootLogin yes という行を追加します。この場合は行が存在しており、「#」を削除します。
    3. 更新した /etc/ssh/sshd_config ファイルを保存します。
    4. service sshd restart を使用して SSH サーバを再起動します。
  • 次のように、HarborDockerArtifactory など、Docker 互換のプライベート コンテナ レジストリをインストールして構成します。このレジストリは、Tanzu Kubernetes Grid の外部で実行するもので、クラスタの共有サービスとして展開されたレジストリとは別です。

    • ファイアウォール内にレジストリをインストールします。
    • コンテナ レジストリは、信頼できる CA によって署名された SSL 証明書または自己署名証明書を使用して構成できます。
    • レジストリにはユーザー認証を実装することができません。たとえば、Harbor レジストリを使用する場合、プロジェクトはプライベートではなくパブリックである必要があります。
    • vSphere に Harbor をインストールするには、次の手順を実行します。
  • インターネットが制限された環境として使用するオフライン サブネットを構成し、ジャンプボックスに関連付けます。

  • DHCP サーバをセットアップして、プライベート IP アドレスを新しいインスタンスに割り当てます。

  • データセンターで vSphere Distributed Switch を作成し、同時に複数のホストのネットワーク構成を一元的に処理できます。

AWS の前提条件とアーキテクチャ

このドキュメントでは、エアギャップされた環境の AWS に Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタを展開する一般的な手順について説明します。エアギャップされた環境の AWS の特定の検証済み構成にクラスタを展開するには、『AWS エアギャップ上の VMware Tanzu Kubernetes Grid のリファレンス設計』および『VMware Tanzu Kubernetes Grid 2.3 エアギャップ リファレンス設計および展開』ドキュメントの「エアギャップされた環境の AWS への Tanzu Kubernetes Grid の展開」を参照してください。TKG v2.3 リファレンス設計は、TKG v2.3 と v2.4 の両方に適用されます。

AWS のアーキテクチャ

Amazon Web Services (AWS) 上のプロキシが設定された Tanzu Kubernetes Grid のインストールには、次に示すように、主要コンポーネント間のファイアウォールと通信があります。セキュリティ グループ (SG) は、制御プレーンとワークロード ドメイン間、およびワークロード コンポーネントと制御プレーン コンポーネント間で自動的に作成されます。

図:AWS 上のエアギャップされた TKG

AWS 上のプロキシが設定されたインストールの場合は、上記の一般的な前提条件に加えて、以下も必要です。

  • 以下の説明どおりにインターネット ゲートウェイ(「オフライン VPC」)を構成していない AWS VPC。
    • インターネットに接続されたブートストラップ マシンが、このオフライン VPC 内の IP アドレスにアクセスできる必要があります。詳細については、「VPC ピアリング」を参照してください。
  • 次のようにインストールして構成された、HarborDockerArtifactory など、Docker 互換のプライベート コンテナ レジストリ。このレジストリは、Tanzu Kubernetes Grid の外部で実行するもので、クラスタの共有サービスとして展開されたレジストリとは別です。
    • ファイアウォール内にレジストリをインストールします。
    • コンテナ レジストリは、信頼できる CA によって署名された SSL 証明書または自己署名証明書を使用して構成できます。
    • レジストリにはユーザー認証を実装することができません。たとえば、Harbor レジストリを使用する場合、プロジェクトはプライベートではなくパブリックである必要があります。
    • Harbor をインストールするには:
      1. Harbor OVA のダウンロードを実行します。
      2. Harbor ドキュメントの「Harbor のインストールと構成」の手順に従います。
  • 上記のインターネットに接続されたマシンと同様にプロビジョニングされた、オフライン VPC 内で実行されている Linux ブートストラップ仮想マシン。
    • オフライン ブートストラップ仮想マシンは、プロキシを使用せずに、Tanzu Kubernetes Grid によって作成されたクラスタ仮想マシンに直接アクセスできる必要があります。

オフライン VPC の作成後、次のエンドポイントを追加する必要があります(VPC エンドポイントは、VPC とサポートされている AWS サービス間のプライベート接続を有効にします)。

  • サービス エンドポイント:
    • sts
    • ssm
    • ec2
    • ec2messages
    • elasticloadbalancing
    • secretsmanager
    • ssmmessages

サービス エンドポイントを VPC に追加するには、次の手順を実行します。

  1. AWS コンソールで、[VPC ダッシュボード (VPC Dashboard)] > [エンドポイント (Endpoints)] に移動します。
  2. 上記の各サービスに対して
    1. [エンドポイントの作成 (Create Endpoint)] をクリックします。
    2. サービスを検索し、[サービス名 (Service Name)] で選択します。
    3. [VPC] とその [サブネット (Subnets)] を選択します。
    4. エンドポイントの DNS 名を有効にします
    5. VPC 内の仮想マシンがエンドポイントにアクセスすることを許可するセキュリティ グループを選択します。
    6. [ポリシー (Policy)] > [フル アクセス (Full Access)] を選択します。
    7. [エンドポイントの作成 (Create Endpoint)] をクリックします。

インターネットが制限された環境の準備

Tanzu Kubernetes Grid を展開するために、インターネットが制限された環境を準備するには、次のいずれかのオプションを選択します。

  • オンライン環境およびオフライン環境用の単一のブートストラップ マシン。

  • オンライン環境およびオフライン環境用の複数の異なるブートストラップ マシン。

選択したオプションに基づいて、次の表に記載されている手順に従います。

単一のブートストラップ マシン 複数の異なるブートストラップ マシン
手順 1:オンライン マシンへの隔離されたクラスタ プラグインのインストール はい
はい
手順 2:オンライン マシンへの TKG イメージのダウンロード はい
はい
手順 3:Linux 用の Tanzu CLI バイナリ イメージのオンライン マシンへのダウンロード いいえ
はい
手順 4:オンライン マシンへの CLI プラグイン バンドルのダウンロード いいえ
はい
手順 5:オフライン マシンへのファイルのコピー いいえ
はい
手順 6:オフライン マシンでのファイルの展開 いいえ
はい
手順 7:オフライン マシンのプライベート レジストリへのログイン はい
はい
手順 8:オフライン マシンへの Tanzu CLI のインストール いいえ
はい

手順 9:オフライン マシンへの CLI プラグイン バンドルのインストール はい
はい
手順 10:プライベート レジストリへの TKG イメージのアップロード はい
はい

手順 1:オンライン マシンへの隔離されたクラスタ プラグインのインストール

isolated-cluster プラグインをインストールするには、次の手順を実行します。

  1. VMware Tanzu CLI のドキュメントの「Tanzu CLI プラグインのインストール」で単一プラグインのインストールについて説明されている手順に従って、isolated-cluster プラグインをインストールします。

  2. isolated-cluster プラグインのバージョン番号がコア Tanzu CLI のバージョン番号と互換性があることを確認します。

    1. tanzu plugin list を実行して、Tanzu CLI プラグインのバージョン番号を確認します。

    2. isolated-cluster プラグインのバージョンが TKG v2.3 と互換性があることを確認するには、「Tanzu Kubernetes Grid について」の「TKG、Tanzu CLI プラグイン、および Tanzu Standard パッケージ リポジトリのバージョン」を参照してください。

      • tanzu version を実行して表示されるコア Tanzu CLI バージョンは、TKG リリース ノートの「製品スナップショット」に記載されている TKG v2.3 の Tanzu CLI バージョンと一致している必要があります。
    3. isolated-cluster プラグインのバージョンが TKG のバージョンと一致しない場合は、「Tanzu Kubernetes Grid のアップグレード」の説明に従って TKG をアップグレードします。

手順 2:オンライン マシンへの TKG イメージのダウンロード

重要

この手順を実行する前に、イメージのダウンロード先のディスク パーティションに 45 GB の空き容量があることを確認します。

インターネットに接続された Linux ブートストラップ マシンにイメージ バンドルをダウンロードします。

tanzu isolated-cluster download-bundle --source-repo <SOURCE-REGISTRY> --tkg-version <TKG-VERSION> --ca-certificate <SECURITY-CERTIFICATE>

ここで、

  • SOURCE-REGISTRY は、イメージが保存されるレジストリの IP アドレスまたはホスト名です。
  • TKG-VERSION は、プロキシまたはエアギャップされた環境に展開する Tanzu Kubernetes Grid のバージョンです。
  • SECURITY-CERTIFICATE は、イメージが保存されているレジストリのセキュリティ証明書です。セキュリティ証明書の検証をバイパスするには、--ca-certificate の代わりに --insecure を使用します。これらの文字列は両方ともオプションです。値を指定しない場合、システムはデフォルトのサーバ セキュリティ証明書を検証します。

    次に例を示します。

    tanzu isolated-cluster download-bundle --source-repo projects.registry.vmware.com/tkg --tkg-version v2.3.1
    
    

TAR ファイル形式のイメージ バンドルが、publish-images-fromtar.yaml ファイルと一緒に、オンライン マシンにダウンロードされます。この YAML ファイルは、イメージと TAR ファイル間のマッピングを定義します。

手順 3:Linux 用の Tanzu CLI バイナリ イメージのオンライン マシンへのダウンロード

Linux 用の Tanzu CLI イメージ(ZIP ファイル)をオンライン マシンにダウンロードします。

  1. VMware Customer Connect の VMware Tanzu CLI ページに移動します。
  2. [製品のダウンロード (Product Downloads)] で、VMware Tanzu CLI for Linux を見つけて [今すぐダウンロード (Download Now)] をクリックします。tanzu-cli-linux-amd64.tar.gz ZIP ファイルがローカル マシンにダウンロードされます。

手順 4:オンライン マシンへの CLI プラグイン バンドルのダウンロード

CLI プラグイン バンドルをオンライン マシンにダウンロードします。

Tanzu CLI で、次のコマンドを実行して CLI プラグイン バンドルをダウンロードします。

tanzu plugin download-bundle --group vmware-tkg/default --to-tar /tmp/plugin-bundle.tar.gz

手順 5:オフライン マシンへのファイルのコピー

次のファイルを、USB サム ドライブまたはその他のストレージ メディアを介して、プロキシが設定された環境またはエアギャップされた環境のブートストラップ マシンであるオフライン マシンにコピーします。

  • イメージ TAR ファイル
  • YAML ファイル
  • tanzu-cli-bundle-linux-amd64.tar.gz ZIP ファイル
  • CLI プラグイン バンドル

手順 6:オフライン マシンでのファイルの展開

オフライン ブートストラップ マシンで、Tanzu CLI イメージ ZIP ファイルを tanzu ディレクトリに展開します。

tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu

手順 7:オフライン マシンのプライベート レジストリへのログイン

Docker を介してオフライン マシンのプライベート レジストリにログインします。

docker login <URL>

ここで、URL は、プロキシが設定された環境またはエアギャップされた環境でのイメージの保存先となるプライベート リポジトリへの URL です。

手順 8:オフライン マシンへの Tanzu CLI のインストール

オフライン マシンに Tanzu CLI をインストールします。

sudo install tanzu-cli-linux_amd64 /usr/local/bin/tanzu

手順 9:オフライン マシンへの CLI プラグイン バンドルのインストール

オフライン マシンに CLI プラグイン バンドルをインストールします。

  1. エアギャップされた環境のプライベート レジストリが自己署名 CA 証明書で構成されている場合は、「カスタム レジストリの証明書構成の追加」の手順に従って、証明書の検証設定を追加します。

  2. エアギャップされた環境のプライベート リポジトリに CLI プラグイン バンドルをアップロードします。

    tanzu plugin upload-bundle --tar /tmp/plugin-bundle.tar.gz --to-repo PRIVATE-REPO/tanzu_cli/plugins
    

    ここで、PRIVATE-REPO は、プロキシが設定された環境またはエアギャップされた環境でのイメージの保存先となるプライベート リポジトリです。たとえば、registry.example.comです。

  3. Tanzu CLI を更新して、新しいプラグイン ソースを参照するようにします。

    tanzu plugin source update default --url PRIVATE-REPO/tanzu_cli/plugins/plugin-inventory:latest
    
  4. プラグインが検出可能であることを確認します。

    tanzu plugin search
    
    tanzu plugin group search 
    
  5. CLI プラグインをインストールします。

    tanzu plugin install 
    

手順 10:プライベート レジストリへの TKG イメージのアップロード

TKG イメージ バンドルをプライベート レジストリにアップロードします。

tanzu isolated-cluster upload-bundle --source-directory <SOURCE-DIRECTORY> --destination-repo <DESTINATION-REGISTRY> --ca-certificate <SECURITY-CERTIFICATE>

ここで、

  • SOURCE-DIRECTORY は、イメージ TAR ファイルが保存されている場所へのパスです。
  • DESTINATION-REGISTRY は、エアギャップされた環境でイメージがホストされるプライベート レジストリへのパスです。
  • SECURITY-CERTIFICATE は、プロキシが設定された環境またはエアギャップされた環境でイメージがホストされるプライベート レジストリのセキュリティ証明書です。セキュリティ証明書の検証をバイパスするには、--ca-certificate の代わりに --insecure を使用します。これらの文字列は両方ともオプションです。値を指定しない場合、システムはデフォルトのサーバ セキュリティ証明書を検証します。

次に例を示します。

tanzu isolated-cluster upload-bundle --source-directory ./ --destination-repo hostname1 --ca-certificate /tmp/registryca.crt

次の手順

次の構成ファイルの参照変数を使用して、イメージの移動先のレジストリを構成します。

  • TKG_CUSTOM_IMAGE_REPOSITORY
  • TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE または TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY

これらの構成変数の詳細については、「プライベート イメージ レジストリの構成」を参照してください。

tanzu config set env.CONFIG-VARIABLE コマンドを使用して、レジストリを構成し、後で Tanzu CLI を使用するときのために環境変数を保持することもできます。詳細については、『Tanzu CLI コマンド リファレンス』の「tanzu config set」を参照してください。

これで、インターネットが制限された環境で、Tanzu Kubernetes Grid 管理クラスタを展開またはアップグレードし、vSphere または AWS にワークロード クラスタを展開する準備が整いました。

エアギャップされた環境の特定の検証済み構成に管理クラスタとワークロード クラスタを展開するには、『VMware Tanzu Kubernetes Grid 2.3 エアギャップ リファレンス設計および展開』を参照してください。TKG v2.3 リファレンス設計は、TKG v2.3 と v2.4 の両方に適用されます。

構成ファイルを使用して管理クラスタを展開する方法については、「構成ファイルからの管理クラスタの展開」を参照してください。

アップグレードの一環としてこの手順を実行した場合は、「Tanzu Kubernetes Grid のアップグレード」を参照してください。

check-circle-line exclamation-circle-line close-line
Scroll to top icon