K3s初探:Rancher架构师带你尝鲜史上最轻量Kubernetes发行版
发布不到两天,GitHub上Star数已近3000,这个业界大热的、史上最轻量的开源Kubernetes发行版,你试过了没?
Rancher资深架构师来教你走出尝鲜第一步!使用教程在此!
前 言
昨天,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的纳管版图又扩大了很多,对边缘计算的支持将会更大。
K3s官网主页现已上线,您可以访问https://k3s.io了解K3s项目的更...。
同时,欢迎通过GitHub页面https://github.com/rancher/k3...。
下周我们会面向Rancher付费订阅客户进行K3s的首次产品最佳实践及架构培训。需要协助部署和管理k3s的企业可邮件联系[email protected],或添加微信助手(rancher2)为好友进行咨询。