Une tentative de déploiement de NSX Application Platform a échoué lorsque le système a tenté d'installer le graphique Helm.

Problème

Après avoir terminé 10 % du processus de déploiement NSX Application Platform, le système affichait le message d'erreur suivant lorsqu'il tentait d'installer le graphique Helm.
NSX Application Platform deployment failed!
See Troubleshooting Documentation.
Helm install chart operation failed. Error: failed post-install: timed out waiting for the condition.

Cause

Le processus de déploiement tente d’accéder à un registre Harbor configuré pour utiliser HTTP au lieu de HTTPS.

Solution

  1. Pour un environnement de production, votre administrateur d'infrastructure doit obtenir un certificat signé par une autorité de certification pour configurer l'accès HTTPS au registre Harbor privé qu'il a installé. Pour plus d'informations, reportez-vous à la page Web Configure HTTPS Access to Harbor.
  2. (Facultatif) (Utilisez cette étape avec précaution pour le cluster Kubernetes en amont.) Si vous souhaitez continuer à utiliser un registre Harbor qui utilise HTTP au lieu de HTTPS, votre administrateur d'infrastructure doit utiliser les informations suivantes pour résoudre ce problème. Ils doivent appliquer la solution sur tous les nœuds de contrôle et worker du cluster Kubernetes en amont que vous utilisez pour le déploiement de NSX Application Platform.
    1. Ajoutez les éléments suivants à votre fichier daemon.json situé dans le répertoire : /etc/docker/daemon.json.
      {
      "insecure-registries" : ["Harbor FQDN or Harbor IP"]
      }
      
    2. Redémarrez le moteur Docker avec la commande suivante.
      systemctl restart docker
  3. (Facultatif) (Utilisez cette étape avec précaution pour le cluster TKG sur le superviseur.) Pour continuer à utiliser un registre Harbor qui utilise HTTP au lieu de HTTPS, votre administrateur d'infrastructure doit appliquer les informations de solution suivantes à tous les nœuds de contrôle et worker du cluster TKG sur le superviseur que vous utilisez pour le déploiement de NSX Application Platform.
    1. Connectez-vous à chaque nœud worker Tanzu en suivant les étapes décrites dans Utiliser SSH pour se connecter aux nœuds du cluster Tanzu Kubernetes en tant qu'utilisateur système à l'aide d'un mot de passe.
    2. Modifiez le fichier config.toml à l'aide de la commande suivante.
      sudo vim /etc/containerd/config.toml
    3. Ajoutez les entrées suivantes dans config.toml pour le registre Harbor, où « 10.222.44.111 » est l'URL d'un exemple de registre Harbor.
       [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. Redémarrez le client Docker à l’aide de la commande suivante.
      sudo systemctl restart docker