Se produjo un error al intentar implementar NSX Application Platform cuando el sistema intentó instalar el gráfico de Helm.

Problema

Después de completar el 10 % del proceso de implementación de NSX Application Platform, el sistema mostraba el siguiente mensaje de error cuando intentó instalar el gráfico de Helm.
NSX Application Platform deployment failed!
See Troubleshooting Documentation.
Helm install chart operation failed. Error: failed post-install: timed out waiting for the condition.

El

Causa

El proceso de implementación está intentando acceder a un registro de Harbor que está configurado para utilizar HTTP en lugar de HTTPS.

Solución

  1. Para un entorno de producción, el administrador de su infraestructura debe obtener un certificado firmado por una CA para configurar el acceso HTTPS al registro de Harbor privado que instaló. Consulte https://goharbor.io/docs/1.10/install-config/configure-https/ para obtener más información.
  2. (opcional) (Utilice este paso con precaución para el clúster de Kubernetes ascendente). Si desea seguir usando un registro de Harbor que utilice HTTP en lugar de HTTPS, el administrador de su infraestructura debe utilizar la siguiente información como solución alternativa. Deben aplicar la solución alternativa en todos los nodos de control y de trabajo del clúster de Kubernetes ascendente que se utiliza para la implementación de NSX Application Platform.
    1. Agregue lo siguiente al archivo daemon.json que se encuentra en el directorio /etc/docker/daemon.json.
      {
      "insecure-registries" : ["Harbor FQDN or Harbor IP"]
      }
      
    2. Reinicie Docker Engine con el siguiente comando.
      systemctl restart docker
  3. (opcional) (Utilice este paso con precaución para TKC). Para seguir usando un registro de Harbor que utilice HTTP en lugar de HTTPS, el administrador de su infraestructura debe aplicar la siguiente información alternativa en todos los nodos de control y de trabajo del TKC que está utilizando para la implementación de NSX Application Platform.
    1. Inicie sesión en cada nodo de trabajo de Tanzu mediante los pasos descritos en Acceder mediante SSH a los nodos del clúster de Tanzu Kubernetes como usuario del sistema con una contraseña.
    2. Edite el archivo config.toml mediante el siguiente comando.
      sudo vim /etc/containerd/config.toml
    3. Agregue las siguientes entradas en config.toml para el registro de Harbor, donde "10.222.44.111" es la URL de un registro de Harbor de ejemplo.
       [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. Reinicie el cliente de Docker con el siguiente comando.
      sudo systemctl restart docker