Merge pull request #34 from svc-design/codex/rewrite-sealos-command-for-kubernetes-cluster

Add GPU k8s reset role and use script for sealos
This commit is contained in:
shenlan 2025-06-26 18:00:56 +08:00 committed by GitHub
commit 9c3defed67
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 run_once: true
- name: Run sealos to create Kubernetes cluster - name: Run sealos to create Kubernetes cluster
shell: | script: files/run_sealos.sh \
sudo sealos run \ {{ labring_registry.stdout | trim }} \
{{ labring_registry.stdout | trim }}/kubernetes:{{ kubernetes_version }} \ {{ kubernetes_version }} \
{{ labring_registry.stdout | trim }}/cilium:{{ cilium_version }} \ {{ cilium_version }} \
{{ labring_registry.stdout | trim }}/helm:{{ helm_version }} \ {{ helm_version }} \
--masters {{ master_ips | join(',') }} \ "{{ master_ips | join(',') }}" \
--nodes {{ node_ips | join(',') }} \ "{{ node_ips | join(',') }}" \
--user {{ ssh_user }} \ {{ ssh_user }} \
--pk /home/{{ ansible_user }}/.ssh/id_rsa \ {{ ansible_user }} \
--env '{{ sealos_cmd_env }}' \ "{{ sealos_cmd_env | b64encode }}" \
--cmd "{{ kubeadm_init_cmd }}" "{{ kubeadm_init_cmd | b64encode }}"
args: args:
executable: /bin/bash executable: /bin/bash
become: true become: true