WSL2 环境 K3s 轻量K8s 完整版部署教程(国内加速)
一、环境说明
运行环境:Windows WSL2
K3s数据存储目录:/home/huzhenyu/data/k3s
环境优势:挂载1T大容量磁盘,数据不占系统盘,稳定无压力,全程国内镜像加速,无需FQ。
二、前置准备(必执行,解决WSL部署报错)
关闭交换分区、开启内核网络转发、加载核心内核模块,适配K3s运行要求。
# 关闭swap(WSL适配兜底操作)
sudo swapoff -a
# 加载容器、网络核心内核模块
sudo modprobe overlay
sudo modprobe br_netfilter
# 写入K8s内核网络配置
cat <<EOF | sudo tee /etc/sysctl.d/k3s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 生效内核配置
sudo sysctl --system
三、清理冗余旧环境(避免冲突)
清理本机残留的 minikube、kind 等其他K8s工具残留文件,防止环境冲突。
cd ~/k3stest
rm -f kind-config.yaml minikube-linux-amd64
四、国内加速一键安装K3s(核心步骤)
采用 Rancher 国内镜像源,解决官方源下载慢、超时、下载不动问题,自定义数据目录挂载大盘,普通用户可直接操作kubectl。
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
INSTALL_K3S_MIRROR=cn \
K3S_KUBECONFIG_MODE="644" \
INSTALL_K3S_EXEC="--data-dir=/home/huzhenyu/data/k3s --system-default-registry=registry.cn-hangzhou.aliyuncs.com" \
sh -
参数说明:
-
INSTALL_K3S_MIRROR=cn:启用国内镜像,加速二进制文件下载 -
K3S_KUBECONFIG_MODE="644":普通用户拥有kubeconfig权限,无需sudo操作 -
--data-dir:指定K3s所有数据、etcd、容器数据存储到1T大盘 -
--system-default-registry:集群组件默认从阿里云镜像拉取,彻底解决镜像拉取失败问题
五、修复 kubectl 命令不存在问题(WSL专属必修)
K3s默认将kubectl安装在/usr/local/bin,系统环境变量无法识别,需手动配置权限+软链接修复。
1. 配置kubeconfig权限
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config
2. 创建全局软链接(永久生效)
sudo ln -s /usr/local/bin/kubectl /usr/bin/kubectl
六、验证K3s集群部署成功
执行以下命令,输出正常即代表集群部署完成、运行正常。
# 查看集群节点状态(显示Ready即为正常)
kubectl get nodes
# 查看集群所有系统组件Pod(全部Running即为集群正常)
kubectl get pods -A
七、永久镜像加速优化(可选,推荐配置)
配置containerd国内镜像源,永久解决后续拉取docker、gcr、k8s官方镜像慢、失败问题。
sudo tee /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
"docker.io":
endpoint:
- "https://docker.mirrors.ustc.edu.cn"
- "https://hub-mirror.c.163.com"
"gcr.io":
endpoint:
- "https://gcr.m.daocloud.io"
"k8s.gcr.io":
endpoint:
- "https://k8s.m.daocloud.io"
EOF
# 重启K3s使镜像配置生效
sudo systemctl restart k3s
八、K3s 常用运维命令大全
# 启动K3s集群
sudo systemctl start k3s
# 停止K3s集群
sudo systemctl stop k3s
# 重启K3s集群
sudo systemctl restart k3s
# 查看K3s运行状态
sudo systemctl status k3s
# 彻底卸载K3s(仅删除集群,不删除/data/k3s数据目录,数据可保留复用)
/usr/local/bin/k3s-uninstall.sh
九、部署最终汇总
| 组件 | 存储目录 | 部署特性 |
|---|---|---|
| K3s 轻量K8s集群 | /home/huzhenyu/data/k3s | 国内镜像、大盘挂载、普通用户可操作、镜像永久加速 |

浙公网安备 33010602011771号