Cette section décrit comment mettre à niveau NCP de la version 2.5.x ou 3.0.x vers 3.1 dans un environnement Kubernetes.

  1. Téléchargez les fichiers d'installation. Reportez-vous à la section Télécharger des fichiers d'installation.
  2. Exécutez les commandes suivantes pour voir le ConfigMap et le fichier ncp.ini dans votre environnement actuel :
    kubectl describe configmap nsx-ncp-config -n nsx-system
    kubectl describe configmap nsx-node-agent-config -n nsx-system
  3. Modifiez le fichier YAML NCP en fonction de votre environnement actuel. Pour plus d'informations, reportez-vous à Modifier le fichier YAML NCP.
    • Vous devez définir ovs_uplink_port dans la section [nsx_node_agent].
    • Remplacez toutes les instances de image: nsx-ncp du nom de la nouvelle image NCP.
    • Si vous utilisez des secrets Kubernetes pour stocker des certificats pour NCP, reportez-vous à la section « Mettre à jour les spécifications de déploiement NCP » dans Modifier le fichier YAML NCP pour en savoir plus sur le montage des volumes secrets.
  4. Exécutez la commande suivante pour vérifier la syntaxe du fichier YAML NCP :
    kubectl apply -f ncp-<platform_name>.yml --server-dry-run
    La réponse répertorie les ressources à créer ou à mettre à jour (indiquées par « configuré » dans la sortie). Par exemple,
    customresourcedefinition.apiextensions.k8s.io/nsxerrors.nsx.vmware.com created (server dry run)
    customresourcedefinition.apiextensions.k8s.io/nsxlocks.nsx.vmware.com created (server dry run)
    namespace/nsx-system unchanged (server dry run)
    serviceaccount/ncp-svc-account unchanged (server dry run)
    clusterrole.rbac.authorization.k8s.io/ncp-cluster-role configured (server dry run)
    clusterrole.rbac.authorization.k8s.io/ncp-patch-role configured (server dry run)
    clusterrolebinding.rbac.authorization.k8s.io/ncp-cluster-role-binding unchanged (server dry run)
    clusterrolebinding.rbac.authorization.k8s.io/ncp-patch-role-binding unchanged (server dry run)
    serviceaccount/nsx-node-agent-svc-account unchanged (server dry run)
    clusterrole.rbac.authorization.k8s.io/nsx-node-agent-cluster-role configured (server dry run)
    clusterrolebinding.rbac.authorization.k8s.io/nsx-node-agent-cluster-role-binding unchanged (server dry run)
    configmap/nsx-ncp-config configured (server dry run)
    deployment.extensions/nsx-ncp configured (server dry run)
    configmap/nsx-node-agent-config configured (server dry run)
    daemonset.extensions/nsx-ncp-bootstrap configured (server dry run)
    daemonset.extensions/nsx-node-agent configured (server dry run)
  5. Exécutez la commande suivante pour supprimer les anciennes ressources NCP :
    kubectl delete deployment nsx-ncp -n nsx-system
  6. Exécutez la commande suivante pour vérifier si tous les anciens espaces NCP sont arrêtés :
    kubectl get pods -l component=nsx-ncp -n nsx-system

    Il ne doit répertorier aucun espace si les anciens espaces NCP sont arrêtés. Attendez que tous les espaces soient arrêtés avant de continuer.

  7. Effacez l'ancien verrou de choix. Dans l'interface utilisateur Web de NSX Manager, accédez à la page de recherche et effectuez une recherche avancée des ressources avec les balises suivantes :
    Scope: ncp\/ha         Tag: true
    Scope: ncp\/cluster    Tag: <name of the cluster in ncp.ini>

    Vous devez voir une ou plusieurs ressources SpoofGuard. Effacez toutes les balises sur ces ressources.

  8. Exécutez la commande suivante pour démarrer la mise à niveau.
    kubectl apply -f ncp-{platform_name}.yml
  9. Exécutez la commande suivante pour vérifier l'état de la mise à niveau :
    kubectl get pods -o wide -n nsx-system

    La sortie doit afficher les nouveaux espaces en cours de création et les anciens espaces arrêtés. Après une mise à niveau réussie, l'état de tous les espaces doit apparaître comme En cours d'exécution.