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
评论 1 条评论