k3s是一个轻量级的容器集群管理系统,k3OS是内置k3s支持的轻量级操作系统。k3OS基于Alpine操作系统和Linuxkit开发,可以直接运行Kubernetes的容器管理和调度服务,并与标准版的Kubernetes完全兼容,体积小、启动快,尤其适合边缘计算领域的容器部署。
1、k3s-轻量级Kubernetes
k3s 是一个轻量级 Kubernetes,它易于安装,二进制文件包小于 40 mb,只需要 512MB RAM 即可运行。
非常适用于:
- Edge
- IoT
- CI
- ARM
k3s 旨在成为完全兼容的 Kubernetes 发行版,相比 k8s 主要更改如下:
- 旧的、Alpha 版本的、非默认功能都已经删除。
- 删除了大多数内部云提供商和存储插件,可以用插件替换。
- 新增 SQLite3 作为默认存储机制,etcd3 仍然有效,但是不再是默认项。
- 封装在简单的启动器中,可以处理大量 LTS 复杂性和选项。
- 最小化到没有操作系统依赖,只需要一个内核和 cgroup 挂载。
k3s 包需要依赖:
- containerd
- Flannel
- CoreDNS
- CNI
- Host 工具(iptables、socat 等)
k3s 工作原理:
2、k3OS-基于kubernetes的操作系统
k3OS基于Alpine操作系统和Linuxkit开发,可以直接运行Kubernetes的容器管理和调度服务,并与标准版的Kubernetes完全兼容。
k3OS由容器软件提供商 Rancher Labs发布,这是业界首个专为 Kubernetes 而生的极轻量操作系统,资源消耗极低,操作极简,秒级启动,能大大简化在低资源计算环境中的 Kubernetes 操作,提高 Kubernetes 运维的安全性,全面赋能边缘计算场景。
k3OS 可以用于公有云和虚拟化集群,但除此之外,它在以边缘计算为代表的计算资源极其有限的环境中,尤其具有巨大的价值。其主要功能包括:
-
快速安装:k3OS只需10秒即可启动,且与此同时k3s是无需时间、立即可用的。
-
简化配置:Cloud-init支持在系统引导启动期间自动配置k3s,将其从通用镜像快速轻松地转换为已配置的k3s实例。
-
简化系统补丁和升级:管理员可以通过一组通用的YAML文件管理Kubernetes发行版和Linux发行版,并利用Kubernetes协调部署操作系统升级。
-
内置k3s:k3OS中内置了k3s,必要的一些系统服务(如ssh、udev、bash和iptables等)都已内置于分发镜像中,无需包管理器。
-
Ubuntu内核:Rancher借助Canonical的Ubuntu Server Kernel团队的出色工作,确保及时的安全更新和全面的设备支持。
-
多架构支持:k3OS现已支持x86_64,对ARM的支持也将很快完成。
更多参考
- k3s官网,https://k3s.io/
- k3OS官网,https://k3os.io/