您当前的位置: 首页 >  操作系统

凌云时刻

暂无认证

  • 0浏览

    0关注

    1437博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

容器操作系统再添丁,AWS开源Bottlerocket,类似RancherOS?

凌云时刻 发布时间:2020-03-16 13:02:10 ,浏览量:0

目前业内基于容器的操作系统也不算少,在容器领域大家都想分一杯羹,毕竟现在是容器为王时代,从传统虚拟化也才逐渐过度。例如VMware PhotonOS、CoreOS的Container Linux、RancherLabs的RancherOS、Alpine Linux等。近期云领头羊AWS也推出了专门为容器主机打造,基于Linux的操作系统Bottlerocket,这个操作系统包含容器主机所需要的组件,并且整合了现有容器调度工具,支持Docker镜像以及OCI(Open Container Initiative)格式的镜像。

 

为什么需要专门容器操作系统?

不少企业以容器来打包应用,让各种应用在不同的计算基础设施中运行,且不需要变更其底层代码,现如今以容器打包和扩展应用,已经是公认在云环境执行应用的首选方法,因为以容器为基础的环境,能使得应用扩展变得简单,客户可以在主机环境执行数百甚至是数千个执行个体。

 

不过,不少应用的容器所使用的主机操作系统,皆非为托管容器设计,因此这也出现了一些挑战,大多数的系统都是以软件包为单位更新,这在安全性、更新、额外资源支出以及系统偏移上都会出现问题,也使得自动化成为一项困难的工作。

 

AWS认为,这些挑战主要来自于软件包系统,除了简单地安装额外的包来满足相依性,形成会增加可攻击面之外,传统依赖包的更新系统机制过于复杂容易产生错误,且相依项目也容易出现问题,而且多余的软件包会占用磁碟空间和CPU运算资源,增加启动的时间,另外,不一致的包和配置,也会因为时间发展,破坏集群的完整性。

传统系统更新面临挑战:

安全性 – 仅仅为了满足依赖性而安装额外的软件包可能会扩大攻击面。

更新 – 传统的基于软件包的更新系统和机制非常复杂且容易出错,并且依赖项可能会出现问题。

开销 – 多余的、不必要的软件包会占用磁盘空间和计算周期,还会增加启动时间。

漂移 – 软件包和配置不一致会随着时间的推移破坏集群的完整性。

 

Bottlerocket介绍:

AWS推出的操作系统Bottlerocket,试图解决这些问题。Bottlerocket由标准开源组件建构而成,具备执行容器所有需要的组件,Bottlerocket特别之处在于其更新以及API设计上,用户可以利用呼叫API来调整配置,而不需要手动更改,并且这些更改还可以在更新时自动迁移。

 

Bottlerocket不使用插件更新系统,而是使用基于镜像的更新模型,这个模型在必要时可以快速且完整的回退、更新,这消除了系统冲突和故障发生的机会,并使得调度工具可以更稳定地将更新应用到整个集群。在Bottlerocket中几乎所有的地方组件,都是以Rust开发而成,而Rust能够消除某些类型的记忆体安全性问题,并且使开发者以较安全的模式开发程序。

 

Bottlerocket的文件系统主要是只读,并在启动时经dm-verity检查其完整性,AWS提到,并不建议用户使用SSH存取,SSH存取仅在独立管理者容器中提供,用户可以根据需要启用管理者容器,用来排除故障。

了解更多Bottlerocket内容可以访问GitHub:

https://github.com/bottlerocket-os/bottlerocket

参考:https://www.ithome.com.tw/news/136284

https://aws.amazon.com/cn/blogs/china/bottlerocket-open-source-os-for-container-hosting/

关于“龙宝库”微信公众号:

有趣的云计算故事。

- END -

- 责任编辑:陈绪 -

关注
打赏
1663816507
查看更多评论
立即登录/注册

微信扫码登录

0.8466s