4月24日,容器软件供应商rancher labs正式推出了k3os,这是业界首款专为kubernetes设计的超轻量级操作系统。它具有极低的资源消耗、简化的操作和秒级启动时间,能够显著简化在低资源计算环境中操作kubernetes的过程,提升kubernetes运维的安全性,充分支持边缘计算场景。
k3s
今年2月28日,Rancher Labs推出了一款史上最轻量的开源Kubernetes发行版——K3s。K3s仅40M大小,设计简洁,易于使用,适用于在资源受限的环境中运行Kubernetes,特别适合边缘计算、IoT、ARM和CI等新兴场景。K3s支持x86_64、ARM64和ARMv7架构,可灵活适应各种边缘基础设施。发布后仅两天,K3s便获得了业界的广泛好评,成为CNCF认证的Kubernetes发行版,短短不到两个月内,GitHub上已获得近6500颗星。
K3OS
在推出为边缘计算设计的轻量级Kubernetes发行版k3s之后,Rancher Labs发布了配套的操作系统k3OS。k3OS预览版支持x86和ARM64架构。k3OS使用与其他Kubernetes资源相同的声明性语法来定义Kubernetes集群配置和底层操作系统配置,这意味着可以统一管理两者。Rancher Labs一直与多家客户合作,包括风力涡轮机公司金风慧能,在资源有限的环境中使用Kubernetes。金风慧能作为全球第二大风力发电机制造商,自去年起与Rancher在k3s的开发上密切合作。金风慧能副总经理张伟表示:“我们相信k3OS的发布是技术发展的下一步,将有助于我们实现全球数千个边缘位置的全自动和高安全Kubernetes集群的愿景。”
Rancher Labs的首席执行官兼联合创始人梁胜表示:“这些客户更多地将Kubernetes视为基础层,而非应用层。”“其中一些来自Linux,但许多实际上来自嵌入式Windows,如Windows XP。他们会让Windows XP运行类似于嵌入式应用的程序。”“他们认为这两者是同一件事:‘如果你想提供Kubernetes发行版,你最好也管理操作系统,’”他说道。去年12月,该公司宣布与ARM合作,为企业提供管理x86集群中Kubernetes及其物联网部署的单一方式。边缘节点处理5至8 GB的数据,以减少发送回数据中心的数据量,用户频繁更新这些节点上的应用程序。他指出,k3OS的动力在于操作系统与Kubernetes的紧密集成。“人们倾向于部署操作系统并保持不变。然后他们会升级Kubernetes,修补Kubernetes,但操作系统保持不变。因此,随着时间的推移,会出现各种漏洞。我们开始在Kubernetes集群上运行代理,并在底层节点上检测到各种安全漏洞,然后我们会说,‘您必须修补底层操作系统。’“这并不容易。实际上,它需要在操作系统和Kubernetes之间进行适当的协调。K3s是一种经过认证的生产级Kubernetes发行版,体积不到40 MB。它只需要512MB的RAM即可运行。它被打包成一个单一的二进制文件,去掉了传统的、alpha的和非默认的功能。它使用sqlite3作为默认存储机制,使用etcd3作为选项,但不使用默认存储机制。“K3s实际上是Linux发行版和Kubernetes发行版的结合,”梁胜说。“Linux发行版已经所剩无几了——它实际上只是一个内核加上一些实用程序。大部分内容都是Kubernetes。现在,当人们想要更新时,他们只需向Kubernetes发出一些命令,Kubernetes将协调整个集群升级。不仅是集群本身,还包括底层操作系统。“K3s已经让Kubernetes变得很容易了;我们只是把它扩展到了操作系统上,所以你不必担心它。”操作系统也成为不可变的基础设施的一部分。你只需要一次机会就能搞定这件事。这几乎是不受干扰的操作,并且提高了安全性。人们会多年不使用这些操作系统…。你不仅在修补Kubernetes漏洞,还在修补操作系统的漏洞。“Rancher Labs计划在今年晚些时候推出面向生产的k3OS GA版。几年前,该公司推出了rancheros,一种用于管理Docker容器的轻量级操作系统。但在Kubernetes的世界里,“你实际上不再需要Docker层了,”梁胜说。
拓展阅读。
为什么选择 Kubernetes ?
Kubernetes已成为云原生的标准,能够在任何基础设施上提供一致的云体验。我们经常看到“容器 + Kubernetes”组合在DevOps中发挥10倍效率,近年来Kubernetes运行在数据中心外的需求也在增加。如果要在边缘部署复杂的应用,Kubernetes是个理想的选择:
容器的轻量化和可移植性非常适合边缘计算场景;围绕Kubernetes已经形成了一个强大的云原生技术生态圈,包括监控、日志、CI、存储、网络等都能找到现成的工具链;用户可以使用熟悉的kubectl或helm chart将IoT应用从云端推送到边缘;边缘节点可以直接映射为Kubernetes的Node资源,而Kubernetes的扩展API(CRD)可以实现对边缘设备的抽象。什么是KubeEdge?
KubeEdge是华为捐献给CNCF的第一个开源项目,也是全球首个基于Kubernetes扩展的,提供云边协同能力的开放式边缘计算平台。KubeEdge的名字来源于Kube + Edge,顾名思义就是依托Kubernetes的容器编排和调度能力,实现云边协同、计算下沉、海量设备接入等。
kubeEdge和K3s都是非常优秀的开源项目,期待更多Kubernetes相关项目在边缘计算领域开花结果。