谁是最棒的容器操作系统?

对于任何在过去两年一直追随着容器(container)社区逐渐繁荣的人来说( Solomon Hykes 在  PyCon 大会上做了有名的五分钟报告之后),你会发现越来越多的公司或项目不断涌现,提供许多创新方式来管理你的应用。

有许多项目围绕着管理(management),网络(network), 存储(storage), 日志(logging),监控(monitoring), 及更多 (参考这篇精妙的 ecosystem 之脑图 )。 然而,我认为,最流行的项目应是为你的或将有的应用环境构建基础架构:容器操作系统(container OSes)。

参加容器会议时,与人交流,总是听到一个问题是,“哪个操作系统最适于运行容器?” 接着就是问, “是 CoreOS? RedHat 怎么样? 我也听到过有个叫 RancherOS 的?”

我喜欢这些争论;这就类似于“哪个 Hypervisor 最好?” 当然,答案总是“这得看情况。” 我仍然打算试着就当前(截稿时间为止)最流行的容器操作系统,解释关键利益点和差别。

CoreOS

这是容器操作系统的代表。 CoreOS 侧重于大规模部署,主要面向企业,良好的社区支持(数百贡献者,500+ IRC 用户, 在#coreos on FreeNode)。它集成了许多由 CoreOS项目组开发的令人感兴趣工具,如etcd, fleet,和flannel。这些工具能助你快速搭建起CoreOS集群。同时,他们也能帮助你更深入的理解服务发现,资源规划和容器网络的背后概念。

2014年12月, the CoreOS项目组发布了另外一个容器运行时引擎类型, rkt。它是回应项目组中提到的Docker将从原始平台移出的声明,他们想观察社区的反应是否相同。CoreOS仍将同时支持Docker和rkt两种容器,所以,不用担心未来一段时间会出现功能问题。

CoreOS项目组也已经联手Google (Google风险基金是CoreOS投资者之一) ,也建立了Tectonic(构建平台), 很有趣的以简单有效地运行CoreOS+ Kubernetes平台的方式。 Tectonic 是商业Kubernetes平台,如果你运维大规模,需要高于社区的技术支持,它就很重要。

RancherOS

Rancher 将容器操作系统的目标更进一步,在RancherOS中,所有都是一个 Docker容器。它们运行一个系统级别的Docker,PID=1,然后启动一个用户级别的Docker,可以运行所有的用户容器。

听起来很疯狂,但操作系统本来就不该做其他事,只做有必要的事。Rancher剥离所有不必要的服务,使得操作系统很轻量级。ISO安装包只有22MB。

更令人感兴趣的是可以使用Rancher系统,在操作系统的上层添加所有服务。在你考虑在你的容器生产环境增加必要的服务时,你通常需要如下功能,如安全,易联网,服务发现,负载均衡,监控和调度。 Rancher在RancherOS上层添加所有这些,甚至更多。 这是一个综合系统,我强烈推荐你去看看closer look。

Snappy Ubuntu Core

这个有趣的项目是Mark Shuttleworth去年发布的 。他认为当时可用的容器操作系统比较臃肿。

Snappy Ubuntu Core OS 提供了一种新类型的应用管理器 (“snappy”) ,专注于运行apps和容器。某些人或许会坚持认为这不是容器操作系统该做的事情,但是,这或许也是一个好的过度性操作系统。它为那些没有时间学习复杂的 etcd、Consul、fleet、Kubernetes,及所有其他工具的人,提供了研究明白(容器操作系统)各种事情的一个好的学习机会。

系统基础是 “Ubuntu Core” 。在它上层,你的apps活动在只读镜像中 (类似容器),apps支持事务性更新。这是个大进步— 你不再需要整改应用去部署新版本,你仅需要下载你修改的部分就可以了。

Snappy Ubuntu Core OS不算一个纯粹的容器操作系统,不过,它具备一些吸引人的方面。生产环境中运行Ubuntu的人,或者对apps和容器都感兴趣的人,一定会关注它。

RedHat Project Atomic

此发布版基于CentOS, Fedora, and RHEL服务器操作系统的upstream RPMs(Redhat安装包), 支持RedHat称为原子的更新和回滚。这取决于你,亲爱的读者朋友,选择哪个发布版本作为你管理你的服务器的基础。

操作系统内置了许多功能,Docker, flannel (CoreOS项目组出品), Kubernetes, 事务操作系统更新工具rpm-ostree,它总是保存上一个版本(类似CoreOS)和course systemd可用(供回滚)。

Project Atomic 采用SELinux尝试加固容器,管理对容器的读写访问。我认为,使用已有的可信的技术来构建,主意很不错。我猜,很快就会看到RedHat 在该项目上更多动作,不过,目前为止,好消息还很少 。

Mesosphere DCOS

Mesosphere DCOS项目常常会被误认为是Apache Mesos (命名问题?)。不在意这个的话,它提供了一个非常健壮和创造性的方式来考虑如何管理容器。

它利用开源项目如Apache Mesos, Marathon, Zookeeper,和许多其他服务,以清晰的方式将它们集成一道一起,另外还在其上添加了企业特性。DCOS product还是GA版本,提供两个版本:社区版 (免费) ,面向 AWS工作量(级别);企业版,适用其他所有场合。

Mesosphere DCOS最让人感兴趣的是它不只局限与容器管理。它毕竟基于Mesos构建, 应该可以做更多的事。部署Hadoop集群怎么样?或者大规模Cassandra集群? Mesosphere统统内置(支持),我相信这是它与其他容器操作系统的关键性差别之一,这将使得Mesosphere DCOS很成功。

VMware Photon

4月发布的VMware Photon 是一款新的容器操作性系统,是VMware开源努力的第一步。VMware目标明确定位在应用大规模部署 ,正如你在它们的其他项目 Lightwave中看到的,提供身份鉴权服务,包括大规模分布式基础构架、应用和容器的认证和授权。不久会更多,我相信。

总结

明显,上述项目还有很多工作要做,它们每一个都会将自己的东西增加到这个领域(容器操作系统)。我希望本次对比有助于你选一个你感兴趣的项目,探索研究不同的容器操作和管理系统的可能性。祝你好运!

时间: 2024-10-10 18:26:22

谁是最棒的容器操作系统?的相关文章

RancherOS正式版发布:最轻量的开源容器Linux操作系统

RancherOS正式版现已全面发布!就在此刻,一个建立在容器基础上的极简Linux发行版. RancherOS筛除了任何不必要的库和服务,因此RancherOS占用的内存是其它容器操作系统的三分之一.简化的容器环境缩减了容器的启动时间,减少组件数量使得效率和安全性得以大大提高. BRCloud Services首席执行官Helvio Lima表示:"在BRCloud Services,我们致力于提供最佳解决方案,以满足客户的需求.RancherOS体现了现代基础设施的应有面貌.我们很高兴将Ra

windows container (docker) 容器资料笔记

背景 业务需求:简化公司私有云,公有云的部署,尝试寻找更好的,更优化的技术方案替换现有的虚拟机部署方案. 技术背景: .net Docker 学习资料 Docker中文社区: http://www.docker.org.cn 微软docker文章:http://ruby-china.org/topics/27156 微软docker官方文档: https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/manage-dock

在libvirt 中体验容器

libvirt是一个通用的虚拟化框架,支持xen,kvm,lxc多种虚拟化技术,本文作为一个笔记. 设置LXC为默认(默认为qemu) export LIBVIRT_DEFAULT_URI=lxc:/// virsh -c lxc:/// 可省略 网络设置 NAT NAT是libvirt默认自带,叫做default,通过下面的 命令查看 virsh net-list 假设宿主机有两个网卡,eth0为内网,eth1为外网,我们可以为容器桥接出两个接口: #cat lan.xml <network>

30个不可不知的容器技术工具和资源

软件容器技术影响着从开发人员.测试人员.运维人员到分析人员的IT团队中的每一个人,它不像虚拟化一样只是系统管理员的工具.容器包的大小和完整性使得团队成员能够在几秒钟内部署完整的环境. 容器是一个很好的工具,同时带来了一系列下游决策,包括使用何种标准.如何存储旧版本和部署镜像.如何在生产中管理这些镜像等等. 但是,该如何正确的组装产品和服务,才能在环境中有效地构建.运行和管理容器?为了回答这个问题,我们调查了各种容器技术产品和服务,以便您可以衡量对比各种容器架构.集群管理和部署.存储.安全.操作系

【DockerCon2017最新技术解读】使用Moby工具和Linuxkit定制容器系统

摘要: 在云栖TechDay34期:DockerCon2017最新的技术解读中,阿里巴巴技术专家王炳燊为大家解读了在DockerCon2017中新发布的Moby项目和Linuxkit项目,为大家详细地介绍了Moby与Docker的区别,以及Linuxkit的优势所在,并通过示例介绍了如何利用Moby工具和Linuxkit定制容器系统. 摘要:在云栖TechDay34期:DockerCon2017最新的技术解读中,阿里巴巴技术专家王炳燊为大家解读了在DockerCon2017中新发布的Moby项目

__Linux__操作系统发展史

常见操作系统win7.Mac.Android.iOS . 操作系统的发展史 1.Unix 1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘.显示器),连接一台电脑. 为了解决数量不够用的问题 1965年左后由贝尔实验室.麻省理工学院 以及 通用电气共同发起了Multics项目,想让大型主机支持300台终端 1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究 1969年从这个项目中退出

KVM虚拟化与容器的区别理解

1.KVM虚拟化是linux内核的虚拟化,提供了内核级别的虚拟进程管理,客户空间的程序QEMU-KVM可以提供资源清单和模拟设备,与KVM交互 QEMU-KVM--可以在宿主机器,建立网络(网桥交换机/NAT路由器[宿主机器作为路由]).客户虚拟机接入网络,常见接入方式:网桥,NAT 2.容器 操作系统虚拟化,隔离进程执行,指定进程执行的根工作目录. 宿主机器建立网络设备,容器进程接入 原文地址:https://www.cnblogs.com/justart/p/10354442.html

系统管理员资源大全

另外推荐一篇文章:<10本适合于系统管理员的最佳书籍>,目前比 kahun 他们整理的列表更丰富. 伯乐在线已在 GitHub 上发起「系统管理员资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-sysadmin-cn 备份 备份软件 Amanda -客户端-服务器模型备份工具 Bacula – 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系统 Backuppc -客户端-服务器模型备份

推荐!国外程序员整理的系统管理员资源大全

备份 备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系统 Backuppc -客户端-服务器模型备份工具和文件共享方案. Burp -网络备份和还原程序 Duplicity -使用rsync算法加密的带宽-效率备份 Lsyncd -监控一个本地目录树的变化,然后产生一个进程去同步变化.默认使用rsync. Rsnapshot -文件系统快照工具 SafeKeep -使用rdiff-ba