随着容器云和Docker技术的发展,容器的基本镜像OS和运行容器的主机OS的选择成为一个问题。许多Linux发行商和云运营商也发布了特殊的容器发行版。与传统的分布式操作系统相比,这些Linux可能更加安全和简洁。有一个分布。我们列出了几个行业内流行的发行版,希望能帮助大家选择最适合自己的一个。
概述
特定于容器的操作系统指的是为运行容器而设计的Linux发行版。与传统发行版相比,这些发行版可以提供一些额外的优势:
简洁:特定于容器的操作系统应该非常小,应该只安装必要的组件。尽量减少附带的工具和应用程序。
原子更新。
默认情况下,可以构建大规模集群。
您可以自动运行Docker守护程序。
根文件系统是只读的。
原子更新可以回滚(双分区更新方案)。
增强的稳定性和安全性。
根据这些特点,我们来比较一下常见的Linux发行版的容器:Core OS、Ubuntu爽快、Atomic、Rancheros和Photon。
默认情况下,这些发行版是云原生的,它提供了一个多发行包,可以很容易地用于云实例的早期初始化。
CoreOS
CoreOS是基于Linux内核的原生分发云,它注重安全性、可靠性、集群化、自动化和易于部署。作为一个容器操作系统,CoreOS提供了运行现代基础设施栈所需的功能,包括容器操作所需的基本功能环境以及一系列用于服务发现和共享配置的内置工具。Core的策略和架构允许用户以高灵活性运行大规模服务。
CoreOS自带两个容器运行时(比如Docker和Rocket),可以在每个节点上自动配置。此外,CoreOS还提供自动更新,默认情况下可以获取所有更新。
CoreOS使用自己的内置点火作为起点。点火是一个在第一次启动时运行的配置工具,允许用户以同样的方式配置节点。在CoreOS上运行应用程序的首选方法是在容器中运行它们。
Etcd也是CoreOS的优势之一。Etcd是一个分布式密钥缓存服务器,被Kubernetes、Cloud Foundry等多个项目使用。Etcd可以用于简单的服务发现等等。
主要的云提供商基本上都为CoreOS提供支持。
CoreOS于2018年被红帽收购,升级版的Fedora CoreOS是目前红帽云战略中最重要的产品和服务。
Flatcar Linux是CoreOS容器Linux的一个友好的开源分支。Flatcar Linux是容器Linux的直接替代品。Flatcar背后的主要思想是以社区驱动的方式支持Container Linux。
Ubuntu Core
Ubuntu Core是Ubuntu的微事务版本,适用于物联网设备和大型容器部署。它运行一种新型的具有超级安全性和远程升级的Linux应用软件包,称为snaps,受到芯片组制造商、设备制造商和系统集成商等领先的物联网供应商的支持和信任。
Ubuntu Core内置Canonical AppArmor内核安全系统,提供人性化的安全保障。为了安全起见,Ubuntu Core允许应用程序完全相互隔离。
Ubuntu Core可以通过所谓的snap(比如Docker)轻松扩展。将快照添加到Ubuntu Core后,您可以在其上运行应用程序。
7.png">Ubuntu Core中的所有操作系统和应用程序文件都保持单独且为只读镜像。这使Ubuntu Core上的更新,很容易又可预测。通过增量管理,Ubuntu Core能使下载量最小。Ubuntu Core还提供了系统和应用程序更新的回滚。
默认情况下, Ubuntu Core并没有内置Docker运行时,但是用户可以轻松地将Docker安装为运行Docker容器的快捷方式。安装非常简单:
sudo snappy install docker
第一次尝试Ubuntu Core时,需要一个Ubuntu帐户,用于ssh密钥的初始配置。
RancherOS
RancherOS项目目的是构建一个极简的Linux发行版,可以让Docker直接在Linux内核之上运行,并将所有用户空间Linux服务作为Docker容器分发。这样,就无需为RancherOS本身使用单独的软件包分发机制。
总之,RancherOS是由Containers构成的OS,以PID 1运行Docker守护程序, Docker守护程序是内核启动的第一个进程。RancherOS中运行了2个Docker守护进程,一个用于系统(System Docker),一个用于用户(User Docker),系统Docker负责启动所有系统服务,例如udev,DHCP和控制台。因此,RancherOS使用Docker作为初始化系统,并将所有系统服务作为Docker容器进行管理。
RancherOS附带两个Docker守护程序的原因之一是,当用户不小心从用户Docker停止/删除所有容器时,系统仍然可以正常工作。
在Docker容器中运行所有内容时,总是可以通过RancherOS获得最新的Docker版本。可以通过运行其他系统容器来轻松扩展RancherOS,例如,可以运行自己的控制台容器来访问自己喜欢的控制台。由于系统超级精简,所以安全漏洞更加少并且需要更少的补丁程序,并提供更高的稳定性。
由于所有系统服务都是作为Docker容器交付的,无需任何诸如apt-get或yum的软件包管理工具。由于内核和initrd不是Docker容器,因此RancherOS也使用Docker打包和分发来交付内核和initrd更新。
RancherOS也可以被视为嵌入式系统和IoT设备的解决方案。
VMware Photon
Photon是最小的Linux容器主机的技术预览版本。Photon的设计尺寸很小,可以在VMware平台上快速启动。Photon旨在为虚拟化环境中运行的容器化应用程序进行协作。
VMware迅速为容器化应用程序创建新的操作系统。VMware Photon是为vSphere优化的最小的Linux容器主机。Photon支持所有基于Vmware Warden的通用容器,例如Docker,rocket和Pivotal Garden容器规范。另外,Photon还带有有效的生命周期管理,其中包含与yum兼容的软件包管理器。
使用Photon的主要好处是VMware的Lightwave。Lightwave提供了用于身份验证和授权的集中式身份管理。它支持许多开放标准,例如LDAP,Kerberos,SAML和OAuth 2.0。Lightwave将容器安全性引入了新的一层,实现支持集中式身份和访问管理。
结论
如何选择一个合适的基础发行版,具体取决于工作负载和环境。在服务器/云/数据中心领域一直不断有新技术在推出和尝试,运行Docker基础架构有很多不错的选择,当然看着好,不如用的好,真正能在生产环境中使用才是最后决胜者。