Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタは、インターネットに接続されていない次のような環境に展開できます。
このトピックでは、vSphere または AWS 上のインターネットが制限された環境に管理クラスタを展開する方法について説明します。外部のインターネット接続を介してイメージをプルできる接続環境で Tanzu Kubernetes Grid を使用している場合、これらの手順を実行する必要はありません。
注このドキュメントでは、エアギャップされた環境に Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタを展開する一般的な手順について説明します。エアギャップされた環境の特定の検証済み構成に管理クラスタとワークロード クラスタを展開するには、VMware Tanzu リファレンス アーキテクチャのドキュメントを参照してください。
この手順を実行する際、オンライン環境とオフライン環境で、単一のマシンまたは複数の異なるマシンをブートストラップ マシンとして使用できます。
Harbor レジストリをインストールする場合は、Harbor OVA ファイルをダウンロードします。
インターネットが制限された環境に管理クラスタとワークロード クラスタを展開する際は、以下が必要です。
TKG_*_PROXY
変数をプロキシ サーバのアドレスに設定し、証明書が自己署名されている場合は TKG_PROXY_CA_CERT
をプロキシ サーバの CA に設定します。「プロキシの構成」を参照してください。このドキュメントでは、エアギャップされた環境の vSphere ネットワークに Tanzu Kubernetes Grid 管理クラスタとワークロード クラスタを展開する一般的な手順について説明します。エアギャップされた環境の vSphere ネットワークの特定の検証済み構成にクラスタを展開するには、『VMware Tanzu Kubernetes Grid 2.1 エアギャップ リファレンス設計および開発』ドキュメントの「vSphere ネットワーク エアギャップ リファレンス設計の VMware Tanzu Kubernetes Grid」および「エアギャップされた環境の vSphere ネットワークへの Tanzu Kubernetes Grid の展開」を参照してください。
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 の特定の検証済み構成にクラスタを展開するには、『VMware Tanzu Kubernetes Grid 2.1 エアギャップ リファレンス設計および開発』ドキュメントの「AWS エアギャップ上の VMware Tanzu Kubernetes Grid のリファレンス設計」および「エアギャップされた環境の AWS への Tanzu Kubernetes Grid の展開」を参照してください。
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:オンライン マシンへのイメージのダウンロード | はい |
はい |
手順 3:Linux 用の Tanzu CLI イメージのオンライン マシンへのダウンロード | いいえ |
はい |
手順 4:オフライン マシンへのファイルのコピー | いいえ |
はい |
手順 5:オフライン マシンでのファイルの展開 | いいえ |
はい |
手順 6:オフライン マシンへの隔離されたクラスタ プラグインのインストール | いいえ |
はい |
手順 7:オフライン マシンのプライベート レジストリへのログイン | はい |
はい |
手順 8:プライベート レジストリへのイメージのアップロード | はい |
はい |
オンライン マシンで tanzu plugin sync
コマンドを実行して isolated-cluster
プラグインをインストールしていない場合にのみ、この手順に従います。
isolated-cluster
tanzu plugin sync
重要この手順を実行する前に、イメージのダウンロード先のディスク パーティションに 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.1.1
TAR ファイル形式のイメージ バンドルが、publish-images-fromtar.yaml
ファイルと一緒に、オンライン マシンにダウンロードされます。この YAML ファイルは、イメージと TAR ファイル間のマッピングを定義します。
Linux 用の Tanzu CLI イメージ(ZIP ファイル)をオンライン マシンにダウンロードします。
[製品のダウンロード (Product Downloads)] で、VMware Tanzu CLI 2.1 CLI というラベルの付いたセクションまでスクロールして VMware Tanzu CLI for Linux を見つけます。
[今すぐダウンロード (Download Now)] をクリックします。tanzu-cli-bundle-linux-amd64.tar.gz
ZIP ファイルがローカル マシンにダウンロードされます。
(オプション)ダウンロードしたファイルが元のファイルから変更されていないことを確認します。VMware は、ダウンロードごとに SHA-1、SHA-256、および MD5 チェックサムを提供します。これらのチェックサムを取得するには、ダウンロードするエントリの下にある [詳細を表示] をクリックします。詳細については、「暗号化ハッシュの使用」を参照してください。
次のファイルを、USB サム ドライブまたはその他のストレージ メディアを介して、プロキシが設定された環境またはエアギャップされた環境のブートストラップ マシンであるオフライン マシンにコピーします。
tanzu-cli-bundle-linux-amd64.tar.gz
ZIP ファイルオフライン ブートストラップ マシンで、TAR ファイルを tanzu
ディレクトリに展開します。
tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
cd $HOME/tanzu/cli
sudo install core/v0.28.1/tanzu-core-linux_amd64 /usr/local/bin/tanzu
tar -xvf tanzu-framework-plugins-standalone-linux-amd64.tar.gz
オフライン ブートストラップ マシンに isolated-cluster
プラグインをインストールします。
tanzu plugin install isolated-cluster --local standalone-plugins/
Docker を介してオフライン マシンのプライベート レジストリにログインします。
docker login <URL>
ここで、URL
は、プロキシが設定された環境またはエアギャップされた環境でのイメージの保存先となるプライベート リポジトリへの URL です。
イメージ バンドルをオフライン マシンにアップロードします。
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 を使用するときのために環境変数を保持することもできます。詳細については、『VMware Tanzu CLI リファレンス』の「tanzu config set」を参照してください。
これで、インターネットが制限された環境で、Tanzu Kubernetes Grid 管理クラスタを展開またはアップグレードし、vSphere または AWS にワークロード クラスタを展開する準備が整いました。
エアギャップされた環境の特定の検証済み構成に管理クラスタとワークロード クラスタを展開するには、VMware Tanzu リファレンス アーキテクチャのドキュメントを参照してください。
構成ファイルを使用して管理クラスタを展開する方法については、「構成ファイルからの管理クラスタの展開」を参照してください。
アップグレードの一環としてこの手順を実行した場合は、「Tanzu Kubernetes Grid のアップグレード」を参照してください。
インターネットが制限された環境に FIPS 対応バージョンの Tanzu Kubernetes Grid を展開する必要がある場合は、「FIPS 対応バージョン」に記載されている手順に従ってください。