共计 2395 个字符,预计需要花费 6 分钟才能阅读完成。
一言不合就发新版本。
年关将至,寒意习习,落叶萧萧下,阳光日日稀。RancherOS 团队历时两个来月的开发,正式发布 RancherOS v1.5.0 版本。在此期间同为 Container Linux 阵营的 CoreOS 已经从红帽再入 IBM,潮流之变,业界态势,让我们无不更加努力去争得一席之地。无论是商业用户的积累,还是业界变化带来的社区用户增长,都在催促我们不断革新,应该说 1.5.0 版本是用户的需求推着我们走出来的。
重大特性更新
本版本的新特征众多,无法一次性全部说明,以下只表述一些用户关注度比较高的特性。个别特性详细说明,我们会不断推出文章一一展开。
启动性能提升
一直以来 RancherOS 的 initrd 一直采用 xz 格式压缩,随着 RancherOS 的体积不断增大,xz 压缩越来越影响系统启动速度。虽然 xz 格式能够带来比较小的 initrd 和 ISO,但是我们也需要兼顾启动速度。v1.5.0 版本的 initrd 已经采用了 gzip 格式,文件体积有所增大,但是启动速度有了质的飞跃。同时我们也优化了 system-docker 的镜像加载和 cloud-init 的启动,对启动速度进行了深度优化。
LUKS 磁盘加密支持
支持 LUKS,允许用户对跟磁盘分区进行加密,在一些特殊场景下增强了 RancherOS 的安全性。运行效果参考下图:
WiFi 和 4G 支持
Intel 正在 micro PC 领域不断发力,RancherOS 被纳入其生态体系,我们支持了 WiFi 和 4G 网络,用户可以通过简单的 cloud-config 配置就可以开启,带来了十分简洁的用户体验,这部分我们会在后续其他文章中详细介绍。
Hyper- V 支持
很多社区用户一直希望能在 Hyper- V 使用 RancherOS,先前我们一直提供给用户一些 custom build 的方式来实现它,现在我们正式支持了它,并会持续维护。无论是 docker-machine 方式还是 boot from ISO 方式均可以支持。
下一个版本我们也会带来 RancherOS 的 Azure Cloud 支持。
多 docker engine 支持
这是一个很有趣的特性,目前 RancherOS 中默认拥有一个 user docker。在 v1.5.0 中,用户可以用过 ROS CLI 来创建多个 user docker engine,并且每个 docker 拥有独立的 ROOTFS 和网络栈,并且可以在 console 很容易的切换使用任意一个 docker。
当然我们并不推荐您在生产中使用,我们的某个商业客户把这个特性应用在其 CI 环境中,极大的提升了资源的利用率,减少了物理机器数量的开销。
改善 VMware 的支持
RancherOS 的广大用户中 Vmware 是占有很大的用户群,之前我们的版本中只针对 docker-machine 方式做了一些改善,但是很多用户还希望使用 boot from ISO 方式和 VMDK 方式,我们相关的镜像也做了支持,用户可以直接下载使用它:
[VMDK] https://releases.rancher.com/…
[Docker Machine] https://releases.rancher.com/…
[Boot From ISO] https://releases.rancher.com/…
ARM 的支持
由于 Rancher 和 ARM 已经开始了战略合作,我们会在一起做很多有趣的事。RancherOS 的 ARM 支持也是其中的一部分,原先我们只是对 RPi 做了支持,现在我们提供 ARM 版本的 initrd 和 vmlinuz,用户可以用它们使用 iPXE 方式启动:
https://releases.rancher.com/…
https://releases.rancher.com/…
我们依然只会对 ARM64 支持,且 v1.5.0 的 ARM 支持只是实验性质的,并不推荐应用在生产中。我们会和 ARM 进行合作进行更广泛的测试,后续的版本将会是更稳定的。
更加友好的自定义
社区中越来越多的发烧友并不局限使用我们的正式发布版本,他们会根据自己的需求修改 RancherOS,构建自己的 RancherOS。我们提供了一些友好的编译选项,用户可以自定义自己的 RancherOS。
更改默认 docker engine
RancherOS 的每个版本都会有自己设定的默认 docker engine,而在用户的场景下,可能需要一个内部认可的 docker engine,且希望它是 RancherOS 默认的版本。那么用户可以在构建时候指定 docker engine 版本,来构建自己的 RancherOS,以 docker 17.03.2 为例:
USER_DOCKER_VERSION=17.03.2 make release
更改默认 console
RancherOS 支持很多 console,比如 ubuntu、alpine、centos 等,由于我们的 default console 基于 busybox,有些用户并不喜欢它,且不希望每次都去切换 console。那么用户可以使用这种方式构建一个默认 console 是自己喜欢的版本,以 alpine console 为例:
$ OS_CONSOLE=alpine make release
其 他
AWS 相关镜像已经上传到各个 region 中,可以直接搜索查找并使用,包括 AWS 中国区。其他主要镜像列表参考:
https://github.com/rancher/os…
更多新特性和 Bug Fix 请参考 v1.5.0 的 Release Notes
文档说明:
https://rancher.com/docs/os/v…
最后,RancherOS 还是一个小众的开源项目,我们专注 Docker 在 Linux 上的精简体验,如果喜欢 RancherOS,请在 Github 上给我们一个 star,鼓励我们继续前行。
Rancher Github:
https://github.com/rancher/os…