wipe-node 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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 -n ${NODEIP} disks | grep usb | awk '{print $2}' | grep -v DEV | grep -v "512 GB" | grep -v "250 GB" | grep -v "/dev/mmc")
  9. DISKS=$(talosctl disks -n ${NODE} | grep -v DEV | grep sdb | grep "2.0 TB" | grep -v "/dev/mmc" | awk '{print $2}')
  10. echo "Disks: $DISKS"
  11. echo "Node IP: $NODEIP"
  12. for d in $DISKS ; do
  13. echo "Creating disk-wipe pod to clear $d on $NODE (${NODEIP})"
  14. cat <<EOF | kubectl apply -f -
  15. apiVersion: v1
  16. kind: Pod
  17. metadata:
  18. name: disk-wipe
  19. spec:
  20. restartPolicy: Never
  21. nodeName: ${NODE}
  22. containers:
  23. - name: disk-wipe
  24. image: busybox
  25. securityContext:
  26. privileged: true
  27. command: ["/bin/sh", "-c", "dd if=/dev/zero bs=1M count=100 oflag=direct of=${d}"]
  28. EOF
  29. kubectl wait --timeout=900s --for=jsonpath='{.status.phase}=Succeeded' pod disk-wipe
  30. kubectl delete pod disk-wipe
  31. done
  32. #talosctl -n ${NODEIP} reboot