核心 · Key Idea
一句话:原版 K8s 重得像航空母舰;k3s 把控制平面打包成单二进制,100MB + 一行命令 就装好。家庭实验室 / 边缘 / IoT / 单机生产 它都能扛。
一行装 k3s#
# Master
curl -sfL https://get.k3s.io | sh -
# 自动写好 kubeconfig
sudo cat /etc/rancher/k3s/k3s.yaml
# 加 Worker(拿 master 的 token)
curl -sfL https://get.k3s.io | K3S_URL=https://master:6443 \
K3S_TOKEN=xxx sh -之后 kubectl get nodes 就能用 —— etcd / control plane / kubelet 全在一个二进制里。
打个比方#
打个比方 · Analogy
原版 K8s 像完整的 IT 部门:架构师、DBA、SRE、网络工程师 —— 大公司适合。
k3s 像全栈工程师:一个人把活都干了,小团队 / 个人 / 边缘反而更利索。
主流轻量发行版#
- k3s(Rancher / SUSE)
- 单二进制 + sqlite/etcd 可选 + Traefik / Servicelb 默认。最流行。
- k0s
- 更"零依赖"理念,主控用 etcd 或 kine。
- MicroK8s(Canonical)
- snap 安装,Ubuntu 自家。
- minikube / kind
- 本地开发用;不适合生产。
- Talos Linux
- 把 K8s 当成"裸金属上的唯一应用",整机即不可变 OS。
- RKE2 / OKE / GKE Autopilot
- 企业 / 云厂商托管。
怎么工作#
实操要点#
- k3s 默认带很多电池:Traefik / metrics-server / local-path / ServiceLB —— 单机即用。不想要可以
--disable=traefik。 - 轻量但是真 K8s:API 兼容,Helm / kubectl / CRD / Operator 全都能用。
- 数据库:节点数小于 30 用嵌入式 etcd 就行;更多节点选外部 etcd / mysql / postgres。
- HA:
--cluster-init+ 多 server 节点(≥3)做 control plane HA。 - 边缘场景:Cattle Drive / Rancher Fleet 把数百集群按 GitOps 管。
- 家庭实验室:3 台树莓派 + k3s + Tailscale = 100% 真实生产体验。
- 更新:
curl get.k3s.io | sh -s - --version v1.30.x或 system-upgrade-controller。
易混点#
k3s
单二进制,省内存。
生产 / 边缘 / 个人都行。
生产 / 边缘 / 个人都行。
原版 K8s (kubeadm)
完整组件,灵活但复杂。
大集群 / 企业。
大集群 / 企业。