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://k3s.io/
来源: http://www.tuicool.com/articles/UBBzA3B