시스템이 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 레지스트리에 액세스하려고 합니다.

해결책

  1. 운영 환경의 경우 인프라 관리자는 CA 서명 인증서를 가져와서 설치한 개인 Harbor 레지스트리에 대한 HTTPS 액세스를 구성해야 합니다. 자세한 내용은 Harbor에 대한 HTTPS 액세스 구성 웹 페이지를 참조하십시오.
  2. (선택 사항) (업스트림 Kubernetes 클러스터에 관해 이 단계를 주의해서 진행하십시오.) HTTPS 대신 HTTP를 사용하는 Harbor 레지스트리를 계속 사용하려면 인프라 관리자가 다음 정보를 해결 방법으로 사용해야 합니다. NSX Application Platform 배포에 사용하는 업스트림 Kubernetes 클러스터의 모든 제어 및 작업자 노드에 해결 방법을 적용해야 합니다.
    1. /etc/daemon.json 디렉토리에 있는 daemon.json 파일에 다음을 추가합니다.
      {
      "insecure-registries" : ["Harbor FQDN or Harbor IP"]
      }
      
    2. 다음 명령을 사용하여 Docker Engine을 다시 시작합니다.
      systemctl restart docker
  3. (선택 사항) (감독자의 TKG 클러스터의 경우 주의해서 이 단계를 사용하십시오.) HTTPS 대신 HTTP를 사용하는 Harbor 레지스트리를 계속 사용하려면 인프라 관리자가 NSX Application Platform 배포에 사용하는 감독자의 TKG 클러스터의 모든 제어 및 worker 노드에 다음 해결 방법 정보를 적용해야 합니다.
    1. 암호를 사용하여 시스템 사용자 권한으로 Tanzu Kubernetes Cluster 노드에 SSH에 설명된 단계를 사용하여 각 Tanzu worker 노드에 로그인합니다
    2. 다음 명령을 사용하여 config.toml 파일을 편집합니다.
      sudo vim /etc/containerd/config.toml
    3. Harbor 레지스트리에 대한 config.toml에 다음 항목을 추가합니다. 여기서 "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"] 
    4. 다음 명령을 사용하여 Docker 클라이언트를 다시 시작합니다.
      sudo systemctl restart docker