大家都知道K8S,什么是K3S?

举报
yd_289006361 发表于 2026/08/24 11:25:48 2026/08/24
【摘要】 我个人觉的以后多Agent的编排和使用少不了K8S,我们如果能在学校里多学习和掌握这方面技能,找工作更有优势,如果直接学习K8S太重量级了,可以考虑从K3S入门。自己电脑就能装 K3s 是什么K3s = 轻量级 Kubernetes 发行版(Rancher/SUSE出品,CNCF认证)名字梗:K8s去掉一半重量 → K3s(8→3)。API 100%兼容标准K8s,你写的Deployment...

我个人觉的以后多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。

核心简化点(为什么省资源)

  1. 控制平面合并为单个进程
    标准K8s:apiserver、controller‑manager、scheduler 各自独立进程。
    K3s:全部打包到同一个k3s进程里运行,减少进程开销,内存直接少一半。

  2. 默认不用 etcd,用 SQLite 文件数据库

  • 标准K8s强制etcd(分布式键值库,耗内存,要维护)
  • K3s单机模式默认用 SQLite(一个本地文件),通过Kine组件做适配,对外依然是K8s API。

多节点高可用模式,K3s依然可以切回etcd,支持生产高可用集群。

  1. 砍掉一堆没用的东西
    删掉旧alpha接口、各大公有云内置驱动、老旧存储插件,只保留主流标准CSI接口。

  2. 开箱即用地内置一堆组件,不用自己装
    自带:

  • containerd(容器运行时,就是我们前面讲的)
  • Flannel CNI网络
  • CoreDNS服务发现
  • Traefik Ingress
  • local‑path‑provisioner本地存储
  • metrics‑server监控
  • helm‑controller(直接部署helm chart)

标准kubeadm部署完裸集群,上面这些全部要你手动一条条装。

K3s 两种节点角色

  1. Server节点(k3s server):控制平面 + 可以同时跑业务Pod。单机All‑in‑One就是只有一台server节点。
  2. 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集群,不是集群本身,很多人搞混。

小坑

  1. k3s自带k3s kubectl,也可以把配置拷贝到~/.kube/config直接用普通kubectl命令。
  2. 单机模式默认会允许server节点调度业务Pod,正好适合你跑Agent。
  3. 底层crictl工具依然可用,排障和标准K8s完全一样。

如果你要,我可以给你一个最小可运行的yaml示例:K3s上跑一个Agent Job任务。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。