Zusätzliche Schritte beim Ersetzen von Mitarbeiterknoten

Wenn Sie einen vorhandenen Worker-Knoten (in dem Peers/Orderers ausgeführt werden) durch einen neuen Worker-Knoten ersetzen, müssen Sie auch die folgenden zusätzlichen Schritte ausführen:

  1. Stellen Sie sicher, dass die persistenten Volumes, die auf dem vorhandenen Knoten gemountet sind, auf den neuen Knoten migriert werden können und von diesem aus darauf zugegriffen werden kann. Erstellen Sie dazu in Oracle Kubernetes Engine einen Knoten in derselben Availability-Domain wie der vorhandene Knoten.
  2. Stoppen Sie alle Instanzen, die den älteren Knoten verwenden.
  3. Cordonieren und per Drain leeren Sie den älteren Knoten. Dies kann sich auf Blockchain Platform Manager-Services auswirken, wenn diese Services auf dem älteren Knoten ausgeführt werden. Warten Sie, bis die ausgeführten Pods in den neuen Knoten verschoben werden.
  4. Führen Sie die folgenden Befehle aus, um die Liste aller Peers und Orderer abzurufen, die auf dem gesperrten Knoten ausgeführt wurden.
    kubectl get peer -A -o=custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,NODESELECTOR:.spec.nodeSelector'
    kubectl get orderernode -A -o=custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,NODESELECTOR:.spec.nodeSelector'
  5. Führen Sie für die Peers und Orderer, die mit nodeSelector für den älteren Knoten konfiguriert wurden, die folgenden Befehle aus, um die benutzerdefinierte Ressource .spec.nodeSelector zu aktualisieren und den neuen Knoten auszuwählen.
    kubectl patch peer <PEER> -n <NAMESPACE> -p '{"spec":{"nodeSelector":{"kubernetes.io/hostname":"<NEW_NODE_HOSTNAME>"}}}' --type='merge'
    kubectl patch orderernode <ORDERER> -n <NAMESPACE> -p '{"spec":{"nodeSelector":{"kubernetes.io/hostname":"<NEW_NODE_HOSTNAME>"}}}' --type='merge'
  6. Prüfen Sie den aktualisierten nodeSelector-Wert, indem Sie die Befehle aus Step 4 erneut ausführen.
  7. Starten Sie alle Instanzen, die zuvor gestoppt wurden.