wipe-disk 1.0 KB

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