软件开发架构师

Rancher 开源 K3s:边缘计算场景下的轻量级 K8s 发行版

运维 46 2019-03-11 10:42

2019 年 2 月 26 日,容器管理软件提供商 Rancher Labs(以下简称 Rancher)宣布推出轻量级的 Kubernetes 发行版 K3s,这款产品专为在资源有限的环境中运行 Kubernetes 的研发和运维人员设计。Rancher 此次发布的 K3s,将满足在边缘计算环境中运行在 x86、ARM64 和 ARMv7 处理器上的小型、易于管理的 Kubernetes 集群日益增长的需求。

K3s 如何缩减 K8s 的大小

根据 Rancher 的博客,为了减少运行 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 提供了一个轻量级的替代方案。该方案不仅占用了较少的内存,而且大幅简化了操作。

适合边缘计算场景,降低运维难度

随着 Kubernetes 的部署开始有边缘部署的发展趋势,企业需要运维管理的 Kubernetes 集群数量正在迅速增加。在许多最有趣的边缘计算用例当中,组织将运行成千上万的只有一个、两个或者三个节点的 Kubernetes 集群,运维人员需要负责管理如此大规模的基础架构,而 K3s 正是为此而生,旨在最大限度地简化用户的安装和操作体验。K3s 主要功能包括:

  • 生产级 Kubernetes:K3s 是一个符合标准的、已获 CNCF 官方认证的 Kubernetes 发行版。
  • 一个没有主机依赖的二进制文件:在任何设备上安装 Kubernetes 所需的一切都包含在这一个 40MB 的二进制文件当中,不需要像 KuberSpray、KubeADM 或者 RKE 这样的外部安装程序。只需要一个命令,用户就可以配置或者升级单节点 K3s 集群。
  • 一条命令,向集群添加节点:若想向集群添加其他节点,管理员只需在新节点上运行一条命令,指向原始服务器,通过安全 token 传递即可。
  • 自动生成证书:集群启动时,在 Kubernetes 主服务器和节点之间建立 TLS 所需的所有证书都会被自动创建,还会自动创建服务账号的加密密钥。

K3s 的工作原理

Rancher 同时发布了支持 x86_64、ARM64 和 ARMv7 架构的 K3s,使 K3s 得以更加灵活地跨任何边缘基础架构工作。除了边缘计算的使用场景,K3s 还非常适合那些寻求简单方法来部署 Kubernetes 轻量级发行版的用户。在早期技术预览期间,许多用户反馈说 K3s 对于 CI/CD 环境、嵌入式系统和本地 Kubernetes 部署特别有帮助。

K3s 的四大使用场景为:

  • 边缘计算
  • 与应用程序绑定使用
  • 嵌入式设备
  • CI 环境

K3s 官网主页现已上线,可以访问 https://k3s.io 了解 K3s 项目的更多信息。

K3s GitHub 地址:https://github.com/rancher/k3s

参考链接:https://rancher.com/press/2019-02-26-press-release-rancher-labs-introduces-lightweight-distribution-kubernetes-simplify/?campaign-queries=hacker-news

https://k3s.io/

文章评论