wipe-node 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. if [ $# -ne 1 ]; then
  3. echo "Incorrect number of arguments"
  4. fi
  5. NODE=$1
  6. echo "Resetting ${NODE}"
  7. NODEIP=$(kubectl get nodes -o wide | grep ${NODE} | grep -v "INTERNAL-IP" | awk '{print $6}')
  8. #DISKS=$(talosctl disks -n ${NODEIP} | grep -v DEV | grep -v usb | grep -v "2.0 TB" | grep -v "/dev/mmc" | awk '{print $2}')
  9. DISKS=$(talosctl disks -n ${NODEIP} | grep -v DEV | grep -v '*$' | awk '{print $2}')
  10. talosctl disks -n ${NODEIP} | grep -v DEV | grep -v '*$'
  11. echo "Disks: $DISKS"
  12. echo "Node IP: $NODEIP"
  13. for d in $DISKS ; do
  14. echo "Creating disk-wipe pod to clear $d on $NODE (${NODEIP})"
  15. cat <<EOF | kubectl apply -f -
  16. apiVersion: v1
  17. kind: Pod
  18. metadata:
  19. name: disk-wipe
  20. spec:
  21. restartPolicy: Never
  22. nodeName: ${NODE}
  23. containers:
  24. - name: disk-wipe
  25. image: busybox
  26. securityContext:
  27. privileged: true
  28. command: ["/bin/sh", "-c", "dd if=/dev/zero bs=1M count=100 oflag=direct of=${d}"]
  29. EOF
  30. kubectl wait --timeout=900s --for=jsonpath='{.status.phase}=Succeeded' pod disk-wipe
  31. kubectl delete pod disk-wipe
  32. done
  33. #talosctl -n ${NODEIP} reboot