k3s是专为资源受限环境设计的轻量级kubernetes发行版,512mb内存即可运行,单二进制文件(约60–100mb),内置sqlite、coredns、flannel和traefik,一行命令即可安装,完全兼容cncf kubernetes标准。

K3s 是专为资源受限环境设计的轻量级 Kubernetes 发行版,512MB 内存即可运行,单二进制文件(
基础单节点快速部署
适合开发、测试或家庭实验室场景,一条命令启动完整控制平面:
- 执行安装命令(推荐国内镜像源,避免超时):
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh - - 若需禁用非必要组件(如 Traefik、ServiceLB、Local Storage)节省内存,加参数:
INSTALL_K3S_EXEC="--disable traefik --disable servicelb --disable local-storage" - 安装后自动注册为 systemd 服务,可用 systemctl status k3s 查看状态
- kubeconfig 默认生成在 /etc/rancher/k3s/k3s.yaml,建议设环境变量:
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
关键验证步骤不能跳过
仅 systemctl 显示 active 并不代表集群就绪,必须确认控制平面真正可用:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 运行 kubectl get nodes —— 应返回 Ready 状态,不是 NotReady 或空行
- 运行 kubectl get pods -A —— kube-system 命名空间下所有 Pod 的 READY 列应为 1/1,重点关注:
• coredns
• local-path-provisioner
• metrics-server(若启用) - 检查证书与连接:
kubectl api-resources 能列出资源类型,说明 API server 正常响应
多节点集群添加工作节点
让 agent 节点加入已有 server,常见失败点集中在这三处:
-
Token 必须从 server 复制:
server 上执行 sudo cat /var/lib/rancher/k3s/server/node-token,直接复制输出内容,避免手动输入或编辑器引入换行符 -
Server 地址必须可被 agent 访问:
agent 启动命令中填的是 https://[server公网或局域网IP]:6443,不能写 127.0.0.1 -
端口开放必须到位:
server 节点防火墙需放行:
• TCP 6443(kube-apiserver)
• UDP 8472(Flannel VXLAN,默认网络插件)
Ubuntu 用 ufw allow 6443;CentOS 用 firewall-cmd --add-port=6443/tcp --permanent
资源紧张时的裁剪建议
在 512MB–1GB 内存设备(如树莓派、老旧 VPS)上,关闭默认启用但非必需的组件能释放显著内存:
- Traefik:Ingress Controller,若用 NodePort 或手动代理可关 → --disable traefik
- ServiceLB:K3s 自带的 Layer 2 负载均衡器,替代 MetalLB,无裸机网络需求可关 → --disable servicelb
- Local Storage:提供 hostPath 类型的动态存储,若只用 emptyDir 或外部 NFS 可关 → --disable local-storage
- 实测关闭这三项后,常驻内存可降低约 120MB+










