浅谈K3OS:首个K8s操作系统,为边缘计算而生!

4月24日,容器软件提供商Rancher Labs正式发布k3OS,这是业界首个专为Kubernetes而生的极轻量操作系统,资源消耗极低,操作极简,秒级启动,能大大简化在低资源计算环境中的Kubernetes操作,提高Kubernetes运维的安全性,全面赋能边缘计算场景。

k3s

今年2月28日,Rancher Labs发布了一款史上最轻量的开源Kubernetes发行版——K3s。K3s大小只有40M,极简,轻便,易于使用。K3s专为在资源有限的环境中运行Kubernetes的研发和运维人员设计,尤其适用于边缘计算、IoT、ARM和CI等新兴使用场景。同时,K3s支持x86_64、ARM64和ARMv7架构,可以更加灵活地跨任何边缘基础架构工作。K3s发布不到两天时间,就得到了来自业界的大量积极反馈,K3s也顺利地成为了CNCF认证的Kubernetes发行版,到现在短短不到2个月时间,GitHub已有近6500颗星。

K3OS

继为边缘计算设计的轻量级Kubernetes发行版k3S发布之后,RancherLabs发布了一个名为k3OS的配套操作系统。k3OS预览版支持x86和ARM64。对于k3OS,Kubernetes集群配置和底层OS配置是用与其他Kubernetes资源相同的声明性语法定义的,这意味着两者都可以一起管理。

Rancher一直与包括风力涡轮机公司金风慧能在内的多家客户合作,在资源有限的环境中使用Kubernetes。“金风慧能作为全球第二大风力发电机制造商,自去年起,一直与Rancher在全新轻量级Kubernetes发行版k3s的开发上密切合作。我们相信如今发布的k3OS,是技术发展的下一步,它有助于我们在全球数千个边缘位置实现全自动和高度安全的Kubernetes集群的愿景。”金风慧能副总经理张伟如是说。

Rancher Labs的首席执行官兼联合创始人梁胜表示:“这些客户将Kubernetes更多地视为基础层,而不是应用层。”“其中一些来自Linux,但其中许多实际上来自嵌入式Windows,如WindowsXP。他们会让WindowsXP运行一些类似于嵌入式的应用程序。“他们把这两件事看成是一回事:‘如果你想给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 发挥 10X 效率,最近也有越来越多 Kubernetes 运行在数据中心外(边缘)的需求。如果要在边缘部署较复杂的应用,那么 Kubernetes 是个理想的选择:

  • 容器的轻量化和可移植性非常适合边缘计算的场景;
  • 围绕 Kubernetes 已经形成了一个强大的云原生技术生态圈,诸如:监控、日志、CI、存储、网络都能找到现成的工具链;
  • 用户可以使用熟悉的 kubectl 或者 helm chart 把 IoT 应用从云端推到边缘;
  • 边缘节点可以直接映射成 Kubernetes 的 Node 资源,而 Kubernetes 的扩展API(CRD)可以实现对边缘设备的抽象。

什么是KubeEdge?

KubeEdge 是华为捐献给 CNCF 的第一个开源项目,也是全球首个基于 Kubernetes 扩展的,提供云边协同能力的开放式边缘计算平台。KubeEdge 的名字来源于 Kube + Edge,顾名思义就是依托 Kubernetes 的容器编排和调度能力,实现云边协同、计算下沉、海量设备接入等。

kubeEdge和K3S都是非常优秀的开源项目,期待更多Kubernetes相关项目在边缘计算领域开花结果。