システムが Helm チャートをインストールしようとしたときに、NSX Application Platform の展開に失敗しました。
問題
NSX Application Platform 展開プロセスの 10% が完了した後、Helm チャートをインストールしようとすると、次のエラー メッセージが表示されます。
NSX Application Platform deployment failed! See Troubleshooting Documentation. Helm install chart operation failed. Error: failed post-install: timed out waiting for the condition.
原因
プロセスが、HTTPS の代わりに HTTP を使用するように構成された Harbor レジストリにアクセスしようとしています。
解決方法
- 本番環境の場合、インフラストラクチャ管理者は CA 署名付き証明書を取得して、インストールしたプライベート Harbor レジストリへの HTTPS アクセスを構成する必要があります。詳細については、Configure HTTPS Access to Harbor webpage を参照してください。
- (オプション) (アップストリーム Kubernetes クラスタの場合は、この手順を慎重に使用します。)HTTPS の代わりに HTTP を使用する Harbor レジストリを引き続き使用する場合は、インフラストラクチャ管理者が回避策として次の情報を使用する必要があります。NSX Application Platform 展開に使用しているアップストリーム Kubernetes クラスタのすべてのコントロール ノードとワーカー ノードに回避策を適用する必要があります。
- /etc/docker/daemon.json ディレクトリにある daemon.json ファイルに以下を追加します。
{ "insecure-registries" : ["Harbor FQDN or Harbor IP"] }
- 次のコマンドを使用して、Docker Engine を再起動します。
systemctl restart docker
- /etc/docker/daemon.json ディレクトリにある daemon.json ファイルに以下を追加します。
- (オプション) (この手順は、スーパーバイザー上の TKG クラスタには注意して使用してください)。)HTTPS の代わりに HTTP を使用する Harbor レジストリを引き続き使用するには、インフラストラクチャ管理者は、NSX Application Platform の展開に使用しているスーパーバイザー上にある TKG クラスタのすべてのコントロール ノードとワーカー ノードに次の回避策を適用する必要があります。
- パスワードを使用した、システム ユーザーとしての Tanzu Kubernetes クラスタ ノードへの SSH 接続に記載された手順を使用して、各 Tanzu ワーカー ノードにログインします。
- 次のコマンドを使用して、config.toml ファイルを編集します。
sudo vim /etc/containerd/config.toml
- config.toml に次の Harbor レジストリのエントリを追加します。ここで、「10.222.44.111」は Harbor レジストリのサンプル URL です。
[plugins.cri.registry] [plugins.cri.registry.mirrors] [plugins.cri.registry.mirrors."docker.io"] endpoint = ["https://registry-1.docker.io"] [plugins.cri.registry.mirrors."localhost:5000"] endpoint = ["http://localhost:5000"] [plugins.cri.registry.mirrors."10.222.44.111"] endpoint = ["http://10.222.44.111"]
- 次のコマンドを使用して、Docker クライアントを再起動します。
sudo systemctl restart docker