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 レジストリをインストールする場合は、Harbor OVA ファイルをダウンロードします。
インターネットが制限された環境に管理クラスタとワークロード クラスタを展開する際は、以下が必要です。
TKG_*_PROXY
変数をプロキシ サーバのアドレスに設定し、証明書が自己署名されている場合は TKG_PROXY_CA_CERT
をプロキシ サーバの CA に設定します。「プロキシの構成」を参照してください。注VMware は、プロキシが設定された環境またはエアギャップされた環境での Windows ワーカー ノードを持つ TKG ワークロード クラスタをサポートしていません。
このドキュメントでは、エアギャップされた環境の 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 上のインターネットが制限された Tanzu Kubernetes Grid のインストールには、以下に示すように、主要コンポーネント間にファイアウォールと通信があります。
注次の図は、オンライン環境とオフライン環境で、複数の異なるブートストラップ マシンが使用されるシナリオを示しています。
vSphere では、上記の一般的な前提条件に加えて、次の手順を実行する必要があります。
ノード仮想マシンの作成元となる OVA を vSphere にアップロードします。「vSphere への管理クラスタの展開」の「基本イメージ テンプレートの vSphere へのインポート」を参照してください。
仮想マシンが作成された後、デフォルトのユーザー名/パスワードでログインできない場合は、「紛失した root パスワードのリセット」の説明に従って、Gnu GRUB を使用してパスワードをリセットします(Photon OS の場合)。
ジャンプボックスに root としてログインし、次のようにリモート SSH を有効にします。
PermitRootLogin yes
という行を追加します。この場合は行が存在しており、「#」を削除します。service sshd restart
を使用して SSH サーバを再起動します。次のように、Harbor、Docker、Artifactory など、Docker 互換のプライベート コンテナ レジストリをインストールして構成します。このレジストリは、Tanzu Kubernetes Grid の外部で実行するもので、クラスタの共有サービスとして展開されたレジストリとは別です。
インターネットが制限された環境として使用するオフライン サブネットを構成し、ジャンプボックスに関連付けます。
DHCP サーバをセットアップして、プライベート IP アドレスを新しいインスタンスに割り当てます。
データセンターで vSphere Distributed Switch を作成し、同時に複数のホストのネットワーク構成を一元的に処理できます。
このドキュメントでは、エアギャップされた環境の 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 の両方に適用されます。
Amazon Web Services (AWS) 上のプロキシが設定された Tanzu Kubernetes Grid のインストールには、次に示すように、主要コンポーネント間のファイアウォールと通信があります。セキュリティ グループ (SG) は、制御プレーンとワークロード ドメイン間、およびワークロード コンポーネントと制御プレーン コンポーネント間で自動的に作成されます。
AWS 上のプロキシが設定されたインストールの場合は、上記の一般的な前提条件に加えて、以下も必要です。
オフライン VPC の作成後、次のエンドポイントを追加する必要があります(VPC エンドポイントは、VPC とサポートされている AWS サービス間のプライベート接続を有効にします)。
sts
ssm
ec2
ec2messages
elasticloadbalancing
secretsmanager
ssmmessages
サービス エンドポイントを VPC に追加するには、次の手順を実行します。
Tanzu Kubernetes Grid を展開するために、インターネットが制限された環境を準備するには、次のいずれかのオプションを選択します。
オンライン環境およびオフライン環境用の単一のブートストラップ マシン。
オンライン環境およびオフライン環境用の複数の異なるブートストラップ マシン。
選択したオプションに基づいて、次の表に記載されている手順に従います。
単一のブートストラップ マシン | 複数の異なるブートストラップ マシン | |
---|---|---|
手順 1:オンライン マシンへの隔離されたクラスタ プラグインのインストール | はい |
はい |
手順 2:オンライン マシンへの TKG イメージのダウンロード | はい |
はい |
手順 3:Linux 用の Tanzu CLI バイナリ イメージのオンライン マシンへのダウンロード | いいえ |
はい |
手順 4:オンライン マシンへの CLI プラグイン バンドルのダウンロード | いいえ |
はい |
手順 5:オフライン マシンへのファイルのコピー | いいえ |
はい |
手順 6:オフライン マシンでのファイルの展開 | いいえ |
はい |
手順 7:オフライン マシンのプライベート レジストリへのログイン | はい |
はい |
手順 8:オフライン マシンへの Tanzu CLI のインストール | いいえ |
はい |
手順 9:オフライン マシンへの CLI プラグイン バンドルのインストール | はい |
はい |
手順 10:プライベート レジストリへの TKG イメージのアップロード | はい |
はい |
isolated-cluster
プラグインをインストールするには、次の手順を実行します。
VMware Tanzu CLI のドキュメントの「Tanzu CLI プラグインのインストール」で単一プラグインのインストールについて説明されている手順に従って、isolated-cluster
プラグインをインストールします。
isolated-cluster
プラグインのバージョン番号がコア Tanzu CLI のバージョン番号と互換性があることを確認します。
tanzu plugin list
を実行して、Tanzu CLI プラグインのバージョン番号を確認します。
isolated-cluster
プラグインのバージョンが TKG v2.4 と互換性があることを確認するには、「Tanzu Kubernetes Grid について」の「TKG および Tanzu CLI プラグインのバージョン」を参照してください。
tanzu version
を実行して表示されるコア Tanzu CLI バージョンは、TKG リリース ノートの「製品スナップショット」に記載されている TKG v2.4 の Tanzu CLI バージョンと一致している必要があります。isolated-cluster
プラグインのバージョンが TKG のバージョンと一致しない場合は、「Tanzu Kubernetes Grid のアップグレード」の説明に従って 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.4.0
TAR ファイル形式のイメージ バンドルが、publish-images-fromtar.yaml
ファイルと一緒に、オンライン マシンにダウンロードされます。この YAML ファイルは、イメージと TAR ファイル間のマッピングを定義します。
Linux 用の Tanzu CLI イメージ(ZIP ファイル)をオンライン マシンにダウンロードします。
tanzu-cli-linux-amd64.tar.gz
ZIP ファイルがローカル マシンにダウンロードされます。CLI プラグイン バンドルをオンライン マシンにダウンロードします。
Tanzu CLI で、次のコマンドを実行して CLI プラグイン バンドルをダウンロードします。
tanzu plugin download-bundle --group vmware-tkg/default --to-tar /tmp/plugin-bundle.tar.gz
次のファイルを、USB サム ドライブまたはその他のストレージ メディアを介して、プロキシが設定された環境またはエアギャップされた環境のブートストラップ マシンであるオフライン マシンにコピーします。
tanzu-cli-bundle-linux-amd64.tar.gz
ZIP ファイルオフライン ブートストラップ マシンで、Tanzu CLI イメージ ZIP ファイルを tanzu
ディレクトリに展開します。
tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
Docker を介してオフライン マシンのプライベート レジストリにログインします。
docker login <URL>
ここで、URL
は、プロキシが設定された環境またはエアギャップされた環境でのイメージの保存先となるプライベート リポジトリへの URL です。
オフライン マシンに Tanzu CLI をインストールします。
sudo install tanzu-cli-linux_amd64 /usr/local/bin/tanzu
オフライン マシンに CLI プラグイン バンドルをインストールします。
エアギャップされた環境のプライベート レジストリが自己署名 CA 証明書で構成されている場合は、「カスタム レジストリの証明書構成の追加」の手順に従って、証明書の検証設定を追加します。
エアギャップされた環境のプライベート リポジトリに CLI プラグイン バンドルをアップロードします。
tanzu plugin upload-bundle --tar /tmp/plugin-bundle.tar.gz --to-repo PRIVATE-REPO/tanzu_cli/plugins
ここで、PRIVATE-REPO
は、プロキシが設定された環境またはエアギャップされた環境でのイメージの保存先となるプライベート リポジトリです。たとえば、registry.example.com
です。
Tanzu CLI を更新して、新しいプラグイン ソースを参照するようにします。
tanzu plugin source update default --url PRIVATE-REPO/tanzu_cli/plugins/plugin-inventory:latest
プラグインが検出可能であることを確認します。
tanzu plugin search
tanzu plugin group search
CLI プラグインをインストールします。
tanzu plugin install
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 のアップグレード」を参照してください。