Étapes supplémentaires lors du remplacement des noeuds de travail

Lorsque vous remplacez un noeud de travail existant (où des pairs ou des responsables des commandes sont en cours d'exécution) par un nouveau noeud de travail, vous devez également effectuer les étapes supplémentaires suivantes :

  1. Assurez-vous que les volumes persistants montés sur le noeud existant peuvent être migrés vers le nouveau noeud et y accéder à partir de celui-ci. Pour ce faire sur Oracle Kubernetes Engine, créez un noeud dans le même domaine de disponibilité que le noeud existant.
  2. Arrêtez toutes les instances qui utilisent l'ancien noeud.
  3. Cordonnez et drainez l'ancien noeud. Cela peut affecter les services Blockchain Platform Manager, si ces services s'exécutent sur l'ancien noeud. Attendez que les pods en cours d'exécution se déplacent vers le nouveau noeud.
  4. Exécutez les commandes suivantes pour obtenir la liste de tous les pairs et responsables des commandes qui s'exécutaient sur le noeud connecté.
    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. Pour les pairs et les responsables des commandes qui ont été configurés avec nodeSelector pour l'ancien noeud, exécutez les commandes suivantes pour mettre à jour la ressource personnalisée .spec.nodeSelector afin de sélectionner le nouveau noeud.
    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. Vérifiez la valeur nodeSelector mise à jour en exécutant à nouveau les commandes de l'étape 4.
  7. Démarrez toutes les instances qui ont été arrêtées précédemment.