Etapes supplémentaires lors du remplacement des noeuds de processus actif

Lorsque vous remplacez un noeud de processus actif existant (où les pairs/ordres sont en cours d'exécution) par un nouveau noeud de processus actif, 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 accessibles à partir de ce dernier. 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 purgez l'ancien noeud. Cela peut affecter les services Blockchain Platform Manager, si ces services sont exécutés 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 de tous les donneurs d'ordre qui s'exécutaient sur le noeud avec cordon.
    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 homologues et les donneurs d'ordre 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'Step 4.
  7. Démarrez toutes les instances précédemment arrêtées.