大家都知道K8S,什么是K3S?
我个人觉的以后多Agent的编排和使用少不了K8S,我们如果能在学校里多学习和掌握这方面技能,找工作更有优势,如果直接学习K8S太重量级了,可以考虑从K3S入门。自己电脑就能装
K3s 是什么
K3s = 轻量级 Kubernetes 发行版(Rancher/SUSE出品,CNCF认证)
名字梗:K8s去掉一半重量 → K3s(8→3)。
API 100%兼容标准K8s,你写的Deployment、Job、Pod yaml,直接原样跑,不用改任何业务代码。
标准K8s(kubeadm)是一堆独立进程:apiserver、controller‑manager、scheduler、etcd、kubelet……一大堆,部署麻烦,吃内存。
K3s把控制平面全部揉进一个很小的二进制文件,一条命令就装完集群,默认自带 containerd,不需要手动装docker/containerd。
核心简化点(为什么省资源)
-
控制平面合并为单个进程
标准K8s:apiserver、controller‑manager、scheduler 各自独立进程。
K3s:全部打包到同一个k3s进程里运行,减少进程开销,内存直接少一半。 -
默认不用 etcd,用 SQLite 文件数据库
- 标准K8s强制etcd(分布式键值库,耗内存,要维护)
- K3s单机模式默认用 SQLite(一个本地文件),通过Kine组件做适配,对外依然是K8s API。
多节点高可用模式,K3s依然可以切回etcd,支持生产高可用集群。
-
砍掉一堆没用的东西
删掉旧alpha接口、各大公有云内置驱动、老旧存储插件,只保留主流标准CSI接口。 -
开箱即用地内置一堆组件,不用自己装
自带:
- containerd(容器运行时,就是我们前面讲的)
- Flannel CNI网络
- CoreDNS服务发现
- Traefik Ingress
- local‑path‑provisioner本地存储
- metrics‑server监控
- helm‑controller(直接部署helm chart)
标准kubeadm部署完裸集群,上面这些全部要你手动一条条装。
K3s 两种节点角色
- Server节点(k3s server):控制平面 + 可以同时跑业务Pod。单机All‑in‑One就是只有一台server节点。
- Agent节点(k3s agent):纯工作节点,只跑kubelet,不跑控制面,加入集群跑业务容器(你的Agent Pod就跑在这里)。
单机学习模式:一台机器执行
k3s server,既是master又是worker,直接可用。
单机架构(你学习Agent编排就用这个)
k3s server(单进程:apiserver/scheduler/controller‑manager)
↓
SQLite文件数据库(/var/lib/rancher/k3s/server/db)
↓
内置 containerd → shim → runc → Linux内核
一条命令安装(非常爽)
curl -sfL https://get.k3s.io | sh -
执行完直接集群就绪,自带k3s kubectl,直接就可以apply yaml部署你的Agent Pod。
kubeconfig文件位置:
/etc/rancher/k3s/k3s.yaml
K3s vs 标准K8s(kubeadm) vs minikube
| 项目 | K3s | 标准K8s(kubeadm) | minikube |
|---|---|---|---|
| 定位 | 轻量生产、开发、边缘 | 大规模企业生产 | 仅本地开发学习(虚拟机) |
| 默认存储 | SQLite(单机)/etcd(HA) | 必须etcd | 临时本地存储 |
| 资源消耗 | 单机4C8G非常舒服,2C4G也能跑 | master至少2C4G起步 | 跑在虚拟机内部 |
| 部署 | 单命令,内置containerd | 手动装运行时、网络、ingress等 | 只单节点虚拟机 |
| 能不能上生产环境 | ✅可以(边缘、小集群) | ✅大规模生产 | ❌不能生产 |
| 你的场景 | ⭐最适合,做Agent编排原型学习 | 太重,不适合新手练手 | 笔记本本地玩玩 |
minikube本质是在虚拟机里面跑一个完整K8s;而K3s直接裸机/云服务器运行。
重要提醒:K3s单机SQLite的局限
单机All‑in‑One用SQLite,适合学习、原型验证、小测试,也就是你现在做Agent Job/Deployment实验的场景。
⚠️ SQLite不适合大规模高并发集群;要做多机高可用,K3s切换为嵌入式etcd模式。
回到你的业务:Agent编排
你要做Agent Pod测试,4核8G云服务器装单机K3s,是性价比最高的入门方案。
- 底层容器运行时还是 containerd,和标准K8s一模一样;
- Deployment、Job、HPA、Pod调度、自愈,全部和原生K8s行为完全一致;
- 你学会的yaml,后续直接迁移到标准生产K8s集群,不需要重写。
容易混淆名字
- K8s:完整原版Kubernetes
- K3s:轻量兼容版Kubernetes发行版
- K9s:终端UI工具,用来浏览k8s集群,不是集群本身,很多人搞混。
小坑
- k3s自带
k3s kubectl,也可以把配置拷贝到~/.kube/config直接用普通kubectl命令。 - 单机模式默认会允许server节点调度业务Pod,正好适合你跑Agent。
- 底层crictl工具依然可用,排障和标准K8s完全一样。
如果你要,我可以给你一个最小可运行的yaml示例:K3s上跑一个Agent Job任务。
- 点赞
- 收藏
- 关注作者
评论(0)