In diesem Abschnitt wird beschrieben, wie Sie ein Upgrade von NCP von 2.5.x oder 3.0.x auf 3.1 in einer Kubernetes-Umgebung durchführen.

  1. Laden Sie die Installationsdateien herunter. Siehe Herunterladen der Protokolldateien.
  2. Führen Sie die folgenden Befehle aus, um die ConfigMap und ncp.ini in Ihrer aktuellen Umgebung anzuzeigen:
    kubectl describe configmap nsx-ncp-config -n nsx-system
    kubectl describe configmap nsx-node-agent-config -n nsx-system
  3. Bearbeiten Sie die NCP-YAML-Datei basierend auf Ihrer aktuellen Umgebung. Referenzen finden Sie unter Bearbeiten der NCP-YAML-Datei.
    • Sie müssen ovs_uplink_port unter dem Abschnitt [nsx_node_agent] definieren.
    • Ersetzen Sie alle Instanzen von image: nsx-ncp mit dem neuen NCP-Image-Namen.
    • Wenn Sie geheime Kubernetes-Schlüssel zum Speichern von Zertifikaten für NCP verwenden, finden Sie weitere Informationen im Abschnitt „Aktualisieren der NCP-Bereitstellungsspezifikationen“ in Bearbeiten der NCP-YAML-Datei zum Mounten der geheimen Volumes.
  4. Führen Sie den folgenden Befehl aus, um die Syntax der NCP-YAML-Datei zu überprüfen:
    kubectl apply -f ncp-<platform_name>.yml --server-dry-run
    In der Antwort werden die Ressourcen aufgelistet, die erstellt oder aktualisiert werden sollen (wird in der Ausgabe als „konfiguriert“ angezeigt). Beispiel:
    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. Führen Sie den folgenden Befehl aus, um alte NCP-Ressourcen zu löschen:
    kubectl delete deployment nsx-ncp -n nsx-system
  6. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob alle alten NCP-Pods beendet wurden:
    kubectl get pods -l component=nsx-ncp -n nsx-system

    Es sollten keine Pods aufgelistet werden, wenn alle alten NCP-Pods beendet wurden. Warten Sie, bis alle Pods beendet sind, bevor Sie fortfahren.

  7. Löschen Sie die alte Wahlsperre. Wechseln Sie in der NSX Manager-Webschnittstelle zur Seite „Suchen“ und führen Sie eine erweiterte Suche nach Ressourcen mit folgenden Tags durch:
    Scope: ncp\/ha         Tag: true
    Scope: ncp\/cluster    Tag: <name of the cluster in ncp.ini>

    Es sollte mindestens eine SpoofGuard-Ressource angezeigt werden. Löschen Sie alle Tags auf diesen Ressourcen.

  8. Führen Sie den folgenden Befehl zum Starten des Upgrades aus.
    kubectl apply -f ncp-{platform_name}.yml
  9. Führen Sie den folgenden Befehl aus, um den aktuellen Upgrade-Status zu überprüfen:
    kubectl get pods -o wide -n nsx-system

    In der Ausgabe sollten neue Pods, die erstellt werden, und alte, die beendet werden, angezeigt werden. Nach einem erfolgreichen Upgrade sollte der Status aller Pods als Ausgeführt angezeigt werden.