前言
昨天,Rancher Labs正式发布了一款 史上最轻量的开源Kubernetes发行版——K3s 。K3s 大小只有 40M,极简,轻便,易于使用。K3s 专为在 资源有限 的环境中运行 Kubernetes 的研发和运维人员设计,尤其适用于 边缘计算、IoT、ARM 和 CI 等新兴使用场景。同时,K3s 支持 x86_64、ARM64 和 ARMv7 架构,可以更加灵活地跨任何边缘基础架构工作。
K3s 发布不到两天时间,就得到了来自业界的大量积极反馈,大家的热情让我们感受到容器领域的创新依然还在路上。K3s 顺利地成为了 CNCF 认证 的 Kubernetes 发行版,K3s 的 GitHub star 数短短一天时间内就 逼近 3000 ,国内外新闻及技术媒体高度关注,容器技术圈广受尊重的大师 Kelsey Hightower 也发出推文表示赞赏。而 Rancher 所做的一切就是我们始终没有忘记初心,我们始终要做一家云基础设施厂商,并坚持创新,Rancher/RKE/RancherOS/Longhorn/Rio/K3s 这些产品不断的在扩展我们的技术版图。那么 K3s 到底是什么?主要创新点在哪里?让我们上手一试。
上手一试
我们在 AWS 启动两个虚拟机,系统为 RancherOS v1.5.1,当然你也可以换成你熟悉的 OS。不过目前 K3s 项目还处在发展阶段,有些 OS 的适配还没有完成,Ubuntu 会是另一个不错的选择。
RancherOS 是极致精简专为容器定制的 Linux,在这里使用 RancherOS 可以让我们更充分体会到 K3s 对 OS 的依赖几乎很少。K3s 已经使用了 containerd 替换 Docker 来做 runtime, 所以我们可以在 RancherOS 停止 Docker。containerd 本身就是 Docker 的一部分,完全兼容我们所熟悉的 Docker image。
默认 server 本身会自带 agent,可以使用 –disable-agent 参数让其只提供 server 功能。
获取 node token
添加额外的 agent,node_token 使用上面步骤返回的内容替换。同样我们已经不需要 docker,依然在 RancherOS 中停止 Docker。
由于 K3s 移除了 k8s 中很多 Legacy/alpha/non-default features,所以不要用一个特别复杂的 yaml 文件来尝试。基本常用的 deployment 是支持的,所以我们可以部署一个 deployment。
当然我们也可以将 K3s 添加到 Rancher 中,目前支持导入方式,虽然还不是很完善,不过我们会持续不断更新提升体验。你需要下载 Rancher import 集群时所需的 yaml 文件,与原生的 K8s 不同,这里 K3s 导入需要使用 K3s kubectl。
等待一段时间后,你可以看到 K3s 集群导入成功,由于 K3s 精简了很多 k8s 的组件,etcd 默认是不启用的(默认使用 sqlite3),所以有些报错暂时可以忽略。
我们还可以用 Rancher UI 来创建简单的 workload。
K3s,推动 Kubernetes 在边缘计算场景
“K3s”的名称含义是指“5 Less Than K8s”,它的大小、对资源的需求、复杂度、使用难度等等都【不到 Kubernetes 的一半】,极其的轻量和易于使用。
对于制造业、零售、金融、电信、公共事业等行业,或是任何认可 Kubernetes 是管理边缘基础设施的理想平台、但难以在边缘设备中投入大量资源来运行一个成熟的 Kubernetes 平台的用户而言,K3s 都是具有巨大进步意义的创造性新产品。
K3s 被打包为一个没有主机依赖的单个二进制文件,大小只有 40M,却包含运行 Kubernetes 所需的一切,包括容器运行时和任何重要的主机实用程序,如 iptables、socat 和 du 等。只需要一条命令,您就可以配置或者升级单节点 K3s 集群,或是向集群添加节点。
极低的资源消耗,操作简单,易于上手,删繁就简的理念,加上最重要的、创造性地满足边缘计算的场景需求,让 K3s 甫一推出就受到了全球范围内企业客户、开源用户、业界大牛、媒体、技术社区等的关注及肯定。
发布不到两天时间,GitHub 上的 Star 数已经逼近 3000 :
K3s 发布当天,各种相关新闻直接登顶谷歌 Kubernetes 关键词搜索结果:
Hacker News 上的讨论热度居高不下:
K3s 通过了 CNCF 认证,成为官方认证 Kubernetes 发行版,CNCF 执行总裁 Dan Kohn 亦亲自祝贺:
来自巨量社区用户的支持:
技术圈广受尊敬的大牛 Kelsey Hightower 对 K3s 高度推崇:
一些思考
Rancher 在近些年越来越感受到 outside datacenter 的管理需求,不仅仅来自有工业物联网背景的制造业,甚至还有美国的快餐连锁行业,这些边缘计算的真实诉求推动着我们来创新。 将容器技术移植到边缘计算场景 是个非常好的选择,容器拥有很好的生态系统,并且能够天然屏蔽硬件差异,带来部署管理上的极大便捷。容器技术尤其是 Kubernetes 在数据中心层面愈发成熟,但是完全移植到边缘计算场景还是存在诸多问题,比如 K8s 对计算资源的消耗是边缘设备无法承受的 , 同时很多 K8s 发行版无法支持 ARM ,而边缘设备目前是以 ARM 居多。这些其实就是 Rancher 创建 K3s 项目要解决的真实问题,K3s 不仅仅是 Rancher 的产品, 我们还会推动它成为 Kubernetes 在边缘计算领域的标准。
未来 Rancher 容器管理平台会成为既可以管理 datacenter k8s 又可以管理 outside k3s 的产品,用户可以选择极致精简的容器操作系统 RancherOS,和专为容器而生的存储系统 Longhorn 来满足云内部和云之间的存储需求。在即将发布 Rancher 2.2 版本中,Rancher 完成了对 ARM 的支持,这样 Rancher 的纳管版图又扩大了很多,对边缘计算的支持将会更大。
评论