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

Lorsque vous remplacez un noeud de travail existant (où des pairs/commandeurs sont exécutés) 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 être accessibles. 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. Cordon et drainer 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 soient déplacés vers le nouveau noeud.
  4. Exécutez les commandes suivantes pour obtenir la liste de tous les pairs et ordonnateurs qui s'exécutaient sur le noeud cordonné.
    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 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 précédemment arrêtées.