k3s单节点5分钟可部署,需root权限执行安装命令,国内用户应配置镜像加速地址,远程访问需添加--bind-address=0.0.0.0参数,并正确配置kubeconfig指向/etc/rancher/k3s/k3s.yaml。

K3S 是目前最快能跑起来的 Kubernetes,单节点 5 分钟内可完成部署,不需要手动装 containerd、Flannel 或 Traefik。
curl -sfL https://get.k3s.io | sh - 能直接用吗
能,但要注意三点:
- 必须用
root或带sudo权限的用户执行,否则 systemd 服务注册失败 - 国内网络可能卡在下载阶段,可加
K3S_INSTALL_URL=https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s环境变量加速 - 安装后默认只监听
127.0.0.1:6443,如需远程访问(比如用本地kubectl连),得加启动参数:sudo INSTALL_K3S_EXEC="--bind-address=0.0.0.0" curl -sfL https://get.k3s.io | sh -
kubectl get nodes 报错 “The connection to the server localhost:8080 was refused”
这是最常见权限问题:k3s 安装后生成的 kubeconfig 在 /etc/rancher/k3s/k3s.yaml,但默认 kubectl 找不到它。
针对 Kubernetes 仪表板和 Web UI 的浏览器自动化。适用于与 Kubernetes Dashboard、Grafana、ArgoCD UI 或其他 Web 界面交互。需要设置 MCP_BROWSER_ENABLED=true。
- 运行
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml临时生效 - 或复制到用户目录:
mkdir -p $HOME/.kube && sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config && sudo chown $USER:$USER $HOME/.kube/config - 注意:
k3s自带的kubectl是软链接到/usr/local/bin/kubectl,确保没被其他版本覆盖(可用which kubectl和kubectl version --client验证)
如何让 k3s 启动时自动加载自定义 manifest
k3s 支持开机自动部署 YAML 文件,但路径和权限有硬性要求:
- 把 YAML 放到
/var/lib/rancher/k3s/server/manifests/目录下(不是/etc/rancher/k3s/) - 文件必须是
.yaml或.yml后缀,且不能有 subdirectory - 内容必须是合法 Kubernetes 清单(
apiVersion,kind必须存在),k3s 会跳过语法错误的文件,但不报错——建议先用kubectl apply -f手动验证 - 修改后无需重启 k3s,它会每 5 秒轮询一次该目录
真正容易被忽略的是 bind-address 和 kubeconfig 权限这两处。很多人装完以为成功了,结果发现节点状态是 NotReady 或根本连不上 API —— 其实只是没配对地址,或者 kubectl 拿错了配置文件。










