2019年11月19日,业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)宣布,Rancher打造的轻量级Kubernetes发行版k3s正式GA,这是k3s一个里程碑版本。K3s是一个通过了CNCF一致性认证的轻量级Kubernetes发行版,专为在资源有限的环境设计。初发布时k3s大小不到40MB(现约60MB)、内存消耗小于500MB的二进制文件。并且支持x86_64、Arm64和Armv7,拥有生产级、高可用的架构,能在边缘场景中自动初始化并维护集群。自今年年初发布至今,k3s在Github上已经拥有超过10000颗star。
“现有的Kubernetes发行版通常是内存密集型的,在边缘计算环境中显得过于复杂。”Rancher联合创始人及CEO梁胜表示:“在过去的一年间,和Rancher达成合作的企业客户中有数十个都向我们表达过,他们认为Kubernetes是管理边缘基础设施的理想平台,但他们不愿意在他们的边缘设备中投入大量资源来运行一个成熟的Kubernetes平台。通过K3s,我们可以为这些团队提供一个小于512MB RAM的Kubernetes发行版,非常适用于边缘计算的用例。零售、金融、电信、公共事业和制造业的企业将对K3s有非常大的需求。”
k3s有多轻量?
k3s大小仅有60MB,小于512MB RAM即可运行。为了减少运行Kubernetes所需内存,Rancher K3s开发团队主要专注于以下四个方面的主要变化:
- 删除旧的、非必须的代码:K3s不包括任何默认禁用的Alpha功能或者过时的功能,原有的API组件目前仍运行于标准部署当中。除此之外,Rancher还删除了所有非默认许可控制器,in- tree云提供商和存储驱动程序,但允许用户添加任何他们需要的驱动程序。
- 整合正在运行的打包进程:为了节省RAM,Rancher将通常在Kubernetes管理服务器上运行的多流程合并为单个流程。Rancher还将在工作节点上运行的kubelet、kubeproxy和flannel代理进程组合成一个进程。
- 使用containerd代替Docker作为运行时的容器引擎:通过用containderd替换Docker,Rancher能够显著减少运行时占用空间,删除libnetwork、swarm、Docker存储驱动程序和其他插件等功能。
- 除了 etcd 之外,引入 SQLite 作为可选的数据存储:Rancher在k3s中添加了SQLite作为可选的数据存储,从而为etcd提供了一个轻量级的替代方案。该方案不仅占用了较少的内存,而且大幅简化了操作。
k3s有多简单?
对于许多开发人员以及运维人员来说,掌握Kubernetes并非易事,即便是在资源充足的环境下部署或运行Kubernetes集群也会面临诸多挑战。因此,Kubernetes运维的复杂性更是无法满足边缘计算中“离线管理”的需求。而k3s完全能够解决这一痛点,它只需一条命令即可完成安装配置和升级。
安装步骤
1、 下载k3s:
https://github.com/rancher/k3...
2、 运行server
sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get node
# On a different node run the below. NODE_TOKEN comes from /var/lib/rancher/k3s/server/node-token
# on your server
sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}
仅需两步,即可完成k3s的安装,最大限度地简化了用户的安装和操作体验,以减轻运维人员的管理负担,满足边缘计算场景中管理大规模基础架构的需求。
k3s可以怎么用?
k3s这一产品的发布是Rancher所一直秉承的“Run Kubernetes Everywhere”这一理念的直接体现,它实现了从数据中心从云到边到端的Kubernetes-as-a-service。K3s为制造业、交通、能源、零售业、银行等诸多垂直领域的客户,提供了全新的Kubernetes落地思路与路径。
由于K3s同时支持x86_64、ARM64和ARMv7架构,使得它得以更加灵活地跨任何边缘基础架构工作。除了边缘计算的使用场景,K3s还非常适合那些寻求简单方法来部署Kubernetes轻量级发行版的用户。在早期技术预览期间,许多用户反馈说K3s对于CI/CD环境、嵌入式系统和本地Kubernetes部署特别有帮助。
K3s的四大使用场景为:
- 边缘计算
- 与应用程序绑定使用
- 嵌入式设备
- CI环境
“我们有着超过30,000个风力发电机在投产使用中,K3s的出现让我们无比兴奋与期待,因为它意味着我们将可以在成千上万个边缘计算的位置部署Kubernetes集群。”世界第二大风力发电机制造商金风慧能技术副总经理张伟表示。
一切开源,欢迎使用
k3s官网:https://k3s.io/
k3s GitHub主页:https://github.com/rancher/k3s/