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.
- Téléchargez les fichiers d'installation. Reportez-vous à la section Télécharger des fichiers d'installation.
- 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
- 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.
- 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)
- Exécutez la commande suivante pour supprimer les anciennes ressources NCP :
kubectl delete deployment nsx-ncp -n nsx-system
- 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.
- 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.
- Exécutez la commande suivante pour démarrer la mise à niveau.
kubectl apply -f ncp-{platform_name}.yml
- 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.