61

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

 5 years ago
source link: https://www.infoq.cn/article/MIML5LiW5JMqs0PH-j89?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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 所需的所有证书都会被自动创建,还会自动创建服务账号的加密密钥。

how-it-works.svg

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/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK