卸载 Kubernetes 和 KubeSphere
本节介绍如何卸载 Kubernetes 和 KubeSphere。
| 说明 |
|---|
本节介绍的 Kubernetes 卸载方式仅适用于 Kubernetes 通过 KubeKey 安装的场景。如果您的 Kubernetes 不是通过 KubeKey 安装,请参阅 Kubernetes 官方文档卸载 Kubernetes。 |
| 警告 |
|---|
|
若 KubeSphere 为在线安装
若 KubeSphere 为在线安装,请按照以下步骤卸载 Kubernetes 和 KubeSphere。
准备工作
您需要获取安装配置文件 config-sample.yaml 并将其传输到用于执行本节操作的集群节点。
| 注意 |
|---|
如果您无法获取安装配置文件 config-sample.yaml,您需要参阅在线安装 KubeSphere 重新创建 config-sample.yaml 文件。重新创建该文件时,请务必确保文件中的集群信息与集群的当前实际情况一致。否则,卸载过程可能会出现错误。 |
操作步骤
-
如果您访问 GitHub/Googleapis 受限,请登录任意集群节点,执行以下命令设置下载区域:
export KKZONE=cn -
执行以下命令下载 KubeKey 最新版本:
curl -sfL https://get-kk.kubesphere.io | sh -下载完成后当前目录下将生成 KubeKey 二进制文件 kk。
-
执行以下命令为 KubeKey 二进制文件 kk 添加执行权限:
sudo chmod +x kk -
将安装配置文件 config-sample.yaml 传输到当前目录。
-
执行以下命令开始卸载 KubeSphere:
./kk delete cluster -f config-sample.yaml如果显示如下信息,则表明卸载成功:
Pipeline[DeleteClusterPipeline] execute successful
若 KubeSphere 为离线安装
若 KubeSphere 使用 Web Installer 离线安装,请按照以下步骤卸载 Kubernetes 和 KubeSphere。
| 说明 |
|---|
不支持单独卸载 Kubesphere。 |
方法一:初始化
在 Web Installer 页面点击初始化按钮卸载 Kubernetes 和 KubeSphere。
初始化任务完成后,会重新回到开始安装页面。
方法二:执行卸载命令
登录部署节点,进入离线包目录,获取节点信息和安装配置文件,用于后续执行 kk 命令。
cd offline
| 注意 |
|---|
后续步骤必须在离线包解压后的目录(如 |
一、获取节点信息: kkv4-inventory.yaml
-
获取节点信息文件。
cp kubekey/runtime/kubekey.kubesphere.io/v1/inventories/default/default.yaml kkv4-inventory.yaml节点信息示例如下:
apiVersion: kubekey.kubesphere.io/v1 kind: Inventory metadata: name: default namespace: default spec: groups: etcd: hosts: - scan-cqxbav3 vars: null image_registry: hosts: [] vars: null k8s_cluster: groups: - kube_control_plane - kube_worker hosts: null vars: null kube_control_plane: hosts: - scan-cqxbav3 vars: null kube_worker: hosts: - scan-cqxbav3 vars: null nfs: hosts: [] vars: null hosts: scan-cqxbav3: connector: host: 172.16.0.4 password: "" port: "22" user: root internal_ipv4: 172.16.0.4 kubernetes: custom_labels: {} vars: null status: {}
二、获取安装配置文件: kkv4-config.json
-
安装
jq。在 Ubuntu 操作系统上,执行以下安装命令:
sudo apt install jq如果部署节点使用其他操作系统,请将 apt 替换为操作系统对应的软件包管理工具。
-
获取安装集群时的配置文件
kkv4-config.json。cd schema/config.json | jq '{spec: .["kubernetes.json"]}' > kkv4-config.json配置信息示例:
{ "spec": { "kubernetes": { "cluster_name": "cluster-01", "kube_version": "v1.33.3", "control_plane_endpoint": { "host": "lb.kubesphere.local", "port": 6443, "type": "local" } }, "cri": { "container_manager": "containerd" }, "cni": { "type": "calico", "max_pods": 110, "service_cidr": "10.233.0.0/18", "pod_cidr": "10.233.64.0/18", "ipv4_mask_size": 24, "ipv6_mask_size": 64 }, "image_registry": { "auth": { "registry": "dockerhub.kubekey.local", "username": "admin", "password": "Harbor12345", "insecure": true } }, "storage_class": { "local": { "enabled": true, "default": true, "path": "/var/openebs/local" } } } }
三、卸载 Kubernetes 和 KubeSphere
-
使用
kkv4-inventory.yaml和kkv4-config.json执行卸载命令。./kk delete cluster -i kkv4-inventory.yaml -c kkv4-config.json --workdir=$(pwd)/operator如果显示如下信息,则表明卸载成功。
回显示例:
[Playbook default/delete-cluster-5vfjw] finish. total: 36,success: 31,ignored: 5,failed: 0 -
命令成功执行后,Web Installer 页面并不会显示集群已卸载。继续执行以下命令以使 Web Installer 页面恢复到开始安装页面:
rm -rf kubekey/runtime/kubekey.kubesphere.io/v1/playbooks/