[NSX Intelligence] Problème lors du déploiement de NSX Application Platform (NAPP) sous RKE2
Lors d’une nouvelle installation de NSX Intelligence (ou plutôt Security Intelligence maintenant), j’ai rencontré un petit problème inattendu !
🚨 Blocage lors des pré-checks de NAPP
Lors du déploiement de NSX Application Platform (NAPP), j’ai été bloqué avant même l’installation à cause des pré-checks.
J’obtenais le message d’erreur suivant :
Check Kubernetes cluster dns domain : Failed (1 Issue)

et quand on regarde dans les détails :
Precheck execution failed, Please contact Administrator

Zut c’est moi l’administrateur…
🎯 Hypothèse initiale : Un problème de DNS ❌
Après quelques recherches sur Google… rien de concluant !
🔍 Investigation dans les logs
Direction les logs de NAPP sur le NSX Manager :
L’ensemble des logs concernant l’installation de NAPP est situé /var/log/proton/napps.log
On investige dans le fichier….
cat /var/log/proton/napps.log
[...]
2024-09-30 13:41:49,906 INFO nsx_kubernetes_lib.vmware.kubernetes.service.kubectl.kubectl_117_service[331]:get_cluster_dns_domain Getting cluster dns domain
2024-09-30 13:41:49,906 INFO nsx_kubernetes_lib.vmware.kubernetes.service.kubectl.kubectl_117_service[350]:execute Executing command kubectl get configmap kubeadm-config -n kube-system -o yaml --kubeconfig=/config/vmware/napps/.kube/config
2024-09-30 13:41:49,906 INFO nsx_kubernetes_lib.vmware.kubernetes.common.utility[23]:execute ['kubectl', 'get', 'configmap', 'kubeadm-config', '-n', 'kube-system', '-o', 'yaml', '--kubeconfig=/config/vmware/napps/.kube/config']
2024-09-30 13:41:49,956 ERROR nsx_kubernetes_lib.vmware.kubernetes.common.utility[57]:execute Error executing command 'kubectl get configmap kubeadm-config -n kube-system -o yaml --kubeconfig=/config/vmware/napps/.kube/config', 'Error from server (NotFound): configmaps "kubeadm-config" not found\n'
2024-09-30 13:41:49,956 ERROR __main__[76]:main Error executing function get_cluster_dns_domain. Error message: Error from server (NotFound): configmaps "kubeadm-config" not found\n
[...]
En creusant un peu, j’ai trouvé que le pré-check vérifie que le domaine interne est bien cluster.local (c’est sous-entendu dans la doc… 🙃).
D’après les logs, il tente de récupérer la ConfigMap kubeadm-config dans le namespace kube-system :
kubectl get configmap kubeadm-config -n kube-system
💡 Problème : sur mon cluster… aucune ConfigMap kubeadm-config ❌
🔎 Analyse du problème
Dans cette installation, un cluster Kubernetes sous Rancher RKE2 (1.29…) avait été déployé.
👉 Particularité : Rancher n’utilise pas kubeadm pour l’installation de ses clusters, mais son propre mécanisme !
Le client disposait déjà d’autres clusters sous Rancher, et comme souvent, la compatibilité avec NAPP est limitée… et la doc de VMware devient de moins en moins précise sur ce sujet.

✅ Solution trouvée
- Se connecter à un autre cluster Kubernetes (non RKE2) où
kubeadmest utilisé. - Récupérer uniquement la partie concernée de la ConfigMap
kubeadm-config.
Sur un cluster kubeadm fonctionnel, exécuter :
kubectl get configmap kubeadm-config -n kube-system -o yaml > kubeadm-config.yaml
- Éditer le fichier pour ne garder que la section
clusterConfiguration:
apiVersion: v1
kind: ConfigMap
metadata:
name: kubeadm-config
namespace: kube-system
data:
ClusterConfiguration: |
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
clusterName: my-cluster
networking:
dnsDomain: cluster.local
- L’installer sur mon cluster Rancher RKE2 :
kubectl apply -f kubeadm-config.yaml - Relancer les pré-checks… et cette fois, tout passe ! 🎉
🔥 Conclusion
Si vous utilisez Rancher RKE2 avec NSX Application Platform (NAPP), pensez à recréer manuellement la ConfigMap kubeadm-config pour éviter ce souci !
🔧 Bonus : Il serait intéressant que VMware améliore la compatibilité avec Rancher, ou au moins documente mieux cette contrainte…
💬 Et vous, avez-vous rencontré ce genre de souci ? 😊