写点什么

K3s 初探:Rancher 架构师带你尝鲜史上最轻量 Kubernetes 发行版

  • 2020-04-23
  • 本文字数:2085 字

    阅读完需:约 7 分钟

K3s初探:Rancher架构师带你尝鲜史上最轻量Kubernetes发行版

前言

昨天,Rancher Labs正式发布了一款 史上最轻量的开源Kubernetes发行版——K3s 。K3s 大小只有 40M,极简,轻便,易于使用。K3s 专为在 资源有限 的环境中运行 Kubernetes 的研发和运维人员设计,尤其适用于 边缘计算、IoT、ARM 和 CI 等新兴使用场景。同时,K3s 支持 x86_64、ARM64 和 ARMv7 架构,可以更加灵活地跨任何边缘基础架构工作。


K3s 发布不到两天时间,就得到了来自业界的大量积极反馈,大家的热情让我们感受到容器领域的创新依然还在路上。K3s 顺利地成为了 CNCF 认证 的 Kubernetes 发行版,K3s 的 GitHub star 数短短一天时间内就 逼近 3000 ,国内外新闻及技术媒体高度关注,容器技术圈广受尊重的大师 Kelsey Hightower 也发出推文表示赞赏。而 Rancher 所做的一切就是我们始终没有忘记初心,我们始终要做一家云基础设施厂商,并坚持创新,Rancher/RKE/RancherOS/Longhorn/Rio/K3s 这些产品不断的在扩展我们的技术版图。那么 K3s 到底是什么?主要创新点在哪里?让我们上手一试。

上手一试

我们在 AWS 启动两个虚拟机,系统为 RancherOS v1.5.1,当然你也可以换成你熟悉的 OS。不过目前 K3s 项目还处在发展阶段,有些 OS 的适配还没有完成,Ubuntu 会是另一个不错的选择。


RancherOS 是极致精简专为容器定制的 Linux,在这里使用 RancherOS 可以让我们更充分体会到 K3s 对 OS 的依赖几乎很少。K3s 已经使用了 containerd 替换 Docker 来做 runtime, 所以我们可以在 RancherOS 停止 Docker。containerd 本身就是 Docker 的一部分,完全兼容我们所熟悉的 Docker image。



默认 server 本身会自带 agent,可以使用 –disable-agent 参数让其只提供 server 功能。


获取 node token



添加额外的 agent,node_token 使用上面步骤返回的内容替换。同样我们已经不需要 docker,依然在 RancherOS 中停止 Docker。



由于 K3s 移除了 k8s 中很多 Legacy/alpha/non-default features,所以不要用一个特别复杂的 yaml 文件来尝试。基本常用的 deployment 是支持的,所以我们可以部署一个 deployment。



当然我们也可以将 K3s 添加到 Rancher 中,目前支持导入方式,虽然还不是很完善,不过我们会持续不断更新提升体验。你需要下载 Rancher import 集群时所需的 yaml 文件,与原生的 K8s 不同,这里 K3s 导入需要使用 K3s kubectl。



等待一段时间后,你可以看到 K3s 集群导入成功,由于 K3s 精简了很多 k8s 的组件,etcd 默认是不启用的(默认使用 sqlite3),所以有些报错暂时可以忽略。



我们还可以用 Rancher UI 来创建简单的 workload。


K3s,推动 Kubernetes 在边缘计算场景

“K3s”的名称含义是指“5 Less Than K8s”,它的大小、对资源的需求、复杂度、使用难度等等都【不到 Kubernetes 的一半】,极其的轻量和易于使用。


对于制造业、零售、金融、电信、公共事业等行业,或是任何认可 Kubernetes 是管理边缘基础设施的理想平台、但难以在边缘设备中投入大量资源来运行一个成熟的 Kubernetes 平台的用户而言,K3s 都是具有巨大进步意义的创造性新产品。


K3s 被打包为一个没有主机依赖的单个二进制文件,大小只有 40M,却包含运行 Kubernetes 所需的一切,包括容器运行时和任何重要的主机实用程序,如 iptables、socat 和 du 等。只需要一条命令,您就可以配置或者升级单节点 K3s 集群,或是向集群添加节点。


极低的资源消耗,操作简单,易于上手,删繁就简的理念,加上最重要的、创造性地满足边缘计算的场景需求,让 K3s 甫一推出就受到了全球范围内企业客户、开源用户、业界大牛、媒体、技术社区等的关注及肯定。


发布不到两天时间,GitHub 上的 Star 数已经逼近 3000



K3s 发布当天,各种相关新闻直接登顶谷歌 Kubernetes 关键词搜索结果:



Hacker News 上的讨论热度居高不下:



K3s 通过了 CNCF 认证,成为官方认证 Kubernetes 发行版,CNCF 执行总裁 Dan Kohn 亦亲自祝贺:



来自巨量社区用户的支持:



技术圈广受尊敬的大牛 Kelsey Hightower 对 K3s 高度推崇:


一些思考

Rancher 在近些年越来越感受到 outside datacenter 的管理需求,不仅仅来自有工业物联网背景的制造业,甚至还有美国的快餐连锁行业,这些边缘计算的真实诉求推动着我们来创新。 将容器技术移植到边缘计算场景 是个非常好的选择,容器拥有很好的生态系统,并且能够天然屏蔽硬件差异,带来部署管理上的极大便捷。容器技术尤其是 Kubernetes 在数据中心层面愈发成熟,但是完全移植到边缘计算场景还是存在诸多问题,比如 K8s 对计算资源的消耗是边缘设备无法承受的 , 同时很多 K8s 发行版无法支持 ARM ,而边缘设备目前是以 ARM 居多。这些其实就是 Rancher 创建 K3s 项目要解决的真实问题,K3s 不仅仅是 Rancher 的产品, 我们还会推动它成为 Kubernetes 在边缘计算领域的标准。


未来 Rancher 容器管理平台会成为既可以管理 datacenter k8s 又可以管理 outside k3s 的产品,用户可以选择极致精简的容器操作系统 RancherOS,和专为容器而生的存储系统 Longhorn 来满足云内部和云之间的存储需求。在即将发布 Rancher 2.2 版本中,Rancher 完成了对 ARM 的支持,这样 Rancher 的纳管版图又扩大了很多,对边缘计算的支持将会更大。


2020-04-23 17:231131

评论

发布
暂无评论
发现更多内容

标签与指标到底有什么区别?

雨果

标签 指标

区块链游戏dapp系统开发游戏链改模式定制

开发微hkkf5566

熬夜整理最近前端面试知识点

loveX001

JavaScript

QtCreator配置protobuf环境

中国好公民st

qt Qt Creator 10月月更

通过linux-PAM实现禁止root用户登陆的方法

京东科技开发者

数据库 Linux 公有云 云主机 linux-PAM

技术分享 | 接口自动化如何处理 Form 请求?

霍格沃兹测试开发学社

技术分享 | 如何使用代理配置快速定位接口测试脚本问题?

霍格沃兹测试开发学社

技术分享 | 接口自动化测试中,如何做断言验证?

霍格沃兹测试开发学社

Docker下Nacos持久化配置

程序员欣宸

Docker Spring Cloud nacos 10月月更

谈谈前端性能优化-面试版

loveX001

JavaScript

HashSet源码全方位解读

知识浅谈

10月月更

Java中的重载和重写的区别

共饮一杯无

Java 10月月更 重载重写

SAP UI5 OData谣言粉碎机:极短时间内发送两个 Odata request,前一个会自动被 cancel 掉吗

汪子熙

JavaScript 前端开发 SAP UI5 ui5 10月月更

技术分享 | 接口测试中,请求超时该怎么办?

霍格沃兹测试开发学社

Spring JPA 查询的时候提示错 org.hibernate.TransientObjectException

HoneyMoose

从URL输入到页面展现到底发生什么?

loveX001

JavaScript

编程语言中 null 引用的十亿美元错误趣谈

汪子熙

Java JavaScript SAP abap 10月月更

技术分享 | 接口自动化测试中,文件上传该如何测试?

霍格沃兹测试开发学社

搭建组件库最小原型(支线)

小鑫同学

前端 Node 10月月更

20221013

留白的艺术

Java数组详解

共饮一杯无

Java 数组 10月月更

免安装免配置环境的免费 ios 调试工具 sib 来啦

霍格沃兹测试开发学社

Zadig 完成 100% 开源:开启软件交付 3.0 时代

霍格沃兹测试开发学社

测试人生 | 二线城市年薪30W+,疫情之下涨薪超过100%,是怎么做到的?

霍格沃兹测试开发学社

Vue2.x组件间通信汇总表

小鑫同学

前端 Node 10月月更

Java基础(四)| 数组及内存分配详解

timerring

Java 数组 内存分配 10月月更

Qt | 线程 QThread

YOLO.

c++ qt 10月月更

Qt | 实现动态创建多个Tab页,页中动态创建多个子部件

YOLO.

qt 10月月更 C++

Docker load 大镜像(17G) 报错no space left on device

琦彦

Docker 10月月更 Base Device Size

西安交大谢涛:云上做实验,让计算机教学实现质的飞跃

Lily

专访北大荆琦:产业前沿进课堂,通过产学合作培养开源贡献者

Lily

K3s初探:Rancher架构师带你尝鲜史上最轻量Kubernetes发行版_文化 & 方法_Rancher_InfoQ精选文章