gpu-k8s role use script and add reset

This commit is contained in:
shenlan 2025-06-26 17:34:42 +08:00
parent 142d9bf93d
commit 0e2654a76c
4 changed files with 55 additions and 11 deletions

View File

@ -0,0 +1,17 @@
#!/bin/bash
set -e
if command -v sealos >/dev/null 2>&1; then
sudo sealos reset --force || true
fi
sudo kubeadm reset -f || true
sudo rm -rf ~/.kube /etc/kubernetes /var/lib/etcd /var/lib/kubelet
sudo rm -rf /var/lib/cni /etc/cni/net.d
ip link delete cni0 2>/dev/null || true
ip link delete flannel.1 2>/dev/null || true
ip link delete docker0 2>/dev/null || true
ip link delete kube-ipvs0 2>/dev/null || true
iptables-save | grep -v KUBE- | grep -v CNI- | iptables-restore || true

View File

@ -0,0 +1,3 @@
- name: Reset GPU Kubernetes cluster
script: files/reset-gpu-k8s.sh
when: cluster_reset | default('enable') == 'enable'

View File

@ -0,0 +1,24 @@
#!/bin/bash
set -e
REGISTRY="$1"
K8S_VERSION="$2"
CILIUM_VERSION="$3"
HELM_VERSION="$4"
MASTERS="$5"
NODES="$6"
SSH_USER="$7"
ANS_USER="$8"
CMD_ENV=$(echo "$9" | base64 -d)
KUBEADM_CMD=$(echo "${10}" | base64 -d)
sudo sealos run \
${REGISTRY}/kubernetes:${K8S_VERSION} \
${REGISTRY}/cilium:${CILIUM_VERSION} \
${REGISTRY}/helm:${HELM_VERSION} \
--masters ${MASTERS} \
--nodes ${NODES} \
--user ${SSH_USER} \
--pk /home/${ANS_USER}/.ssh/id_rsa \
--env "${CMD_ENV}" \
--cmd "${KUBEADM_CMD}"

View File

@ -88,17 +88,17 @@
run_once: true
- name: Run sealos to create Kubernetes cluster
shell: |
sudo sealos run \
{{ labring_registry.stdout | trim }}/kubernetes:{{ kubernetes_version }} \
{{ labring_registry.stdout | trim }}/cilium:{{ cilium_version }} \
{{ labring_registry.stdout | trim }}/helm:{{ helm_version }} \
--masters {{ master_ips | join(',') }} \
--nodes {{ node_ips | join(',') }} \
--user {{ ssh_user }} \
--pk /home/{{ ansible_user }}/.ssh/id_rsa \
--env '{{ sealos_cmd_env }}' \
--cmd "{{ kubeadm_init_cmd }}"
script: files/run_sealos.sh \
{{ labring_registry.stdout | trim }} \
{{ kubernetes_version }} \
{{ cilium_version }} \
{{ helm_version }} \
"{{ master_ips | join(',') }}" \
"{{ node_ips | join(',') }}" \
{{ ssh_user }} \
{{ ansible_user }} \
"{{ sealos_cmd_env | b64encode }}" \
"{{ kubeadm_init_cmd | b64encode }}"
args:
executable: /bin/bash
become: true