このトピックでは、ダウンロードした OVA ファイルからプライベート Harbor イメージ レジストリをインストールし、オフラインの vSphere 環境に Tanzu Kubernetes Grid (TKG) を展開するために必要なイメージを提供する方法について説明します。生成される Harbor レジストリは、TKG が使用するコンポーネント イメージを保存および管理するために、TKG と並行して、ただし TKG とは別個に実行されます。
この仮想マシンベースの Harbor 展開は、インターネットが制限された環境またはエアギャップされた環境で TKG システム イメージをホストする場合にのみサポートされます。本番環境でホスト型アプリケーションの多数のイメージを管理できるスケーラブルで高可用性の Harbor を展開するには、「Tanzu CLI を使用した TKG 2.1 ワークロード クラスタの作成と管理」の「サービス レジストリ用の Harbor のインストール」に従って、Harbor パッケージを TKG クラスタに展開します。
注Notary と Chartmuseum は Harbor v2.6 で廃止され、Harbor v2.6.0 リリース ノートに記載されているように、今後のリリースで削除される予定です。ユーザーは、コンテナの署名と検証のために Sigstore Cosign に切り替える必要があります。
ca.crt
、server.crt
、および server.key
ファイルOVA ファイルから Harbor を展開するには、次の手順を実行します。
vCenter Server で、vSphere クラスタを右クリックし、[OVF テンプレートのデプロイ (Deploy OVF Template)]… を選択します。
[OVF テンプレートのデプロイ (Deploy OVF Template)] ウィンドウが表示されます。[ローカル ファイル (Local File)] を選択し、ダウンロードした Harbor OVA ファイルの場所を参照します。
右下の [次へ (NEXT)] をクリックします。一連の構成ペインが表示されます。
[ソースの検証 (Source Verification)]:[はい (YES)] をクリックします。
[仮想マシン名 (Virtual machine name)]:Harbor インスタンスを実行する仮想マシンに選択する名前を入力します。[次へ (NEXT)] をクリックします。
[コンピューティング リソースの選択 (Select a compute resource)]:デフォルトの選択のままにして、[次へ (NEXT)] をクリックします。
vSphere が OVF テンプレートをダウンロードしてレンダリングするため、この手順には数分かかる場合があります。
[詳細の確認 (Review details)]:[次へ (NEXT)] をクリックします。
[使用許諾契約書 (License agreements)]:ライセンスに同意して [次へ (NEXT)] をクリックしてください。
[ストレージの選択 (Select storage)]:[vsanDatastore] を選択し、[次へ (NEXT)] をクリックします。
[ネットワークの選択 (Select networks)]:デフォルトの [仮想マシン ネットワーク (VM Network)] を選択し、[次へ (NEXT)] をクリックします。
[テンプレートのカスタマイズ (Customize template)] > [仮想マシンの認証情報 (VM Credentials)]:
[root パスワード (Root Password)](必須):仮想マシンでの root
ユーザー アカウント用のパスワード。8 ~ 128 文字にする必要があります。
[root 経由の SSH を許可 (Allow SSH via Root)]:root
ユーザーとしての仮想マシンへの ssh
アクセスを許可するには、デフォルトの [有効 (Enabled)] のままにします。
[テンプレートのカスタマイズ (Customize template)] > [Harbor 構成 (Harbor Configurations)]:
[ホスト名 (Hostname)](オプション):指定されている場合は、FQDN としての Harbor ホスト名(yourdomain.com
など)。IP アドレスや localhost
にすることはできません。
[ホスト名 (Hostname)] を指定した場合、SAN (Subject Alt Names) プロパティには DNS 情報のみが含まれます。IP 情報は指定されません。
[ホスト名 (Hostname)] を指定しない場合、SAN プロパティには IP 情報のみが含まれます。DNS 情報は指定されません。
[管理者パスワード (Administrator Password)](必須):Harbor admin
ユーザーのパスワード。管理者が Harbor ユーザー インターフェイスにアクセスし、クライアント コンテナがイメージをプルおよびプッシュするために使用します。長さは 8 ~ 128 文字にする必要があります。
[Harbor データベースのパスワード (Harbor Database Password)]:Harbor 内部データベースのパスワード。指定する場合は、長さは 8 ~ 128 文字にする必要があります。
[Harbor デフォルト スキャナを有効化 (Enable Harbor Default Scanner)]:有効にすると、Trivy スキャナをインストールして有効化し、Harbor にアップロードされたイメージをスキャンします。
[Harbor に自己署名証明書を使用 (Use Self-signed Certificate For Harbor)]:
有効にして自己署名証明書を使用し、[CA 証明書 (CA Certificate)]、[サーバ証明書 (Server Certificate)]、および [サーバ キー (Server Key)] を空白のままにします。
それ以外の場合は、[Harbor に自己署名証明書を使用 (Use Self-signed Certificate For Harbor)] を無効化し、[CA 証明書 (CA Certificate)]、[サーバ証明書 (Server Certificate)]、および [サーバ キー (Server Key)] の複数行のファイルの内容を貼り付けます。フォームに貼り付けると、複数行の値が区切り文字としてスペース文字を含む 1 行の文字列に変わります。
[テンプレートのカスタマイズ (Customize template)] > [ネットワーク構成 (Networking Configurations)]:
[IP アドレス (IP Address)]、[ネットマスク (Netmask)]、および [ゲートウェイ (Gateway)]:eth0
用の固定 IP アドレス、ネットマスク、ゲートウェイ(存在する場合)。
[DNS]、[DNS ドメイン (DNS Domain)]:Harbor 仮想マシンの DNS サーバとドメイン。
[設定内容の確認 (Ready to complete)]:構成を確認して [終了 (FINISH)] をクリックします。
Harbor OVA を初めて展開する場合、Harbor が Docker イメージをロードするのに数分かかります。
プロセスを監視して進行していることを確認するには、ssh
で仮想マシンにログインして、次のコマンドを実行します。
watch docker ps
Harbor が 5 分ほど経過しても実行されていない場合は、デバッグのために仮想マシンのログ ファイルを取得します。
cd /etc/goharbor/harbor && ./harbor-support.sh --include-private
ログ ファイルを検索して解凍します。/storage/log/harbor_appliance_logs_2022-11-30T09-39-12Z.tar.gz
のような名前です。
次のように「Error: Unable to retrieve manifest or certificate file
」と表示される場合は、Harbor OVA の展開を再試行してください。
root
パスワードを忘れた場合は、「Resetting a Lost Root Password」の手順に従って回復します。
OVA から展開された Harbor インスタンスには、次の 2 つのディスクがあります。
/storage
としてマウントされています。要求に対応するために Harbor のデータ ディスクのサイズを増やす必要がある場合は、設定の変更中に Harbor 仮想マシンを一時的にパワーオフする必要があります。仮想マシンに動的 IP アドレスがある場合、仮想マシンの再起動では、次の手順を追加で実行する必要があります。
Harbor インスタンスのデータ ディスクを拡張するには、次の手順を実行します。
vSphere の [ホストおよびクラスタ (Hosts and Clusters)] ビューで、Harbor OVA 仮想マシンを右クリックし、[電源 (Power)] > [パワーオフ (Power Off)] を選択します。
Harbor OVA 仮想マシンをもう一度右クリックし、[設定の編集 (Edit Settings)] を選択します。
[設定の編集 (Edit Settings)] ウィンドウが表示されます。[仮想ハードウェア (Virtual Hardware)] で、[ハード ディスク 2 (Hard disk 2)] の設定を希望する容量に増やします。[OK] をクリックします。
Harbor OVA 仮想マシンをもう一度右クリックし、[電源 (Power)] > [パワーオン (Power On)] を選択して仮想マシンを再起動します。
Harbor 仮想マシンを再起動したことにより、仮想マシンのホスト アドレス構成によっては、追加の手順の実行が必要になる場合があります。
固定 IP アドレス:追加の手順はありません。
動的 IP アドレス:Harbor 仮想マシンの IP アドレスが変更された場合:
FQDN:Harbor 仮想マシンの IP アドレスが変更された場合は、仮想マシンの /etc/hosts
ファイルまたは DNS レコードでそのアドレスを更新します。
Harbor 仮想マシンの IP アドレスが変更されたら、証明書をローテーションします。
仮想マシンに ssh
接続します。
Harbor サービスを停止します。
systemctl stop harbor
古い証明書の server.crt
、server.key
、および ca.crt
ファイルを移動するか、名前を変更することでバックアップします。
server.crt
は /storage/data/secret/cert/server.crt
にありますserver.key
は /storage/data/secret/cert/server.key
にありますca.crt
は /storage/data/ca_download/ca.crt
にあります新しい証明書の server.crt
、server.key
、ca.crt
を上記の場所に保存し、ファイルの所有権と権限を古いファイルと同じ設定内容に設定します。
Harbor サービスを開始します。
systemctl start harbor
この Harbor レジストリを使用してインターネットが制限された環境に管理クラスタを展開した後、次の 2 つの方法のいずれかを使用して、TKG ワークロード クラスタで Harbor を使用することができます。
外部 Harbor レジストリを使用する。このレジストリが信頼された CA 証明書を使用している場合、ワークロード クラスタとレジストリ間の接続は安全です。中央レジストリで自己署名証明書を使用している場合は、TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY
を無効にして、TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE
オプションを指定できます。このオプションを設定すると、自己署名証明書がワークロード クラスタに自動的に挿入されます。
Harbor の 2 番目のインスタンスを TKG 内の共有サービスとして展開する。VMware では、TKG によって管理される共有サービスとして Harbor パッケージを展開することをお勧めします。詳細については、「サービス レジストリ用の Harbor のインストール」を参照してください。
ロード バランシングを使用するインフラストラクチャでは、VMware は、「Harbor レジストリと外部 DNS」の説明に従って、外部 DNS パッケージ サービスを Harbor サービスと一緒にインストールすることをお勧めします。