本文为你介绍运行Kubernetes的最小容器操作系统,它们分别是CoreOS/Container Linux、Photon OS、RancherOS、Red Hat CoreOS (RHCOS)、Fedora CoreOS。
1.CoreOS/Container Linux Container Linux(通常称为CoreOS)是基于容器的Linux发行版业务的先驱,它是一种非常轻巧的Linux操作系统,专为集群部署而设计,可为您最关键的应用程序提供自动化、安全性和可伸缩性。应用程序在容器中运行,为开发人员提供了用于部署软件的友好工具。CoreOS Container Linux是领先的容器操作系统,旨在以最小的操作开销大规模管理和运行。
Container Linux压缩了发行范围: 仅包括基本内容:将操作系统和基本用户实用程序剥离到最低限度,并作为一个整体提供,所有其他应用程序和依赖项都在容器内运行,可以在其中进行一致的管理,更新和分发。作为Container Linux的用户,您具有安全运行应用程序的基础保障。CoreOS工程师不断向OS交付补丁程序,使容器引擎保持最新状态,并确保您的容器安全运行。 CoreOS的特色: 容器Linux几乎可以在任何平台上运行,无论是物理、虚拟还是私有/公共云。 所有应用程序都与核心操作系统分开,并且依赖项在容器内运行。
2.Photon OS VMWare生产了一种极简的Linux操作系统,经过改进后可以适应云计算平台,VMware vSphere部署以及云原生应用程序,因此将其称为Photon OS。参考容器操作系统Photon OS的下载、介绍、安装和使用。
作为Linux容器主机,Photon OS已针对vSphere和云计算平台(例如Amazon Elastic Compute和Google Compute Engine)进行了优化,它适用于最常见的容器格式,包括Docker、Rocket和Garden。此外,Photon OS包括一个与yum兼容的基于软件包的生命周期管理系统,称为tdnf。 Photon OS的一项惊人功能是您可以将其与开发工具和环境(例如VMware Fusion、VMware Workstation)一起使用,在此过程中,它允许您无缝地将基于容器的应用程序从开发迁移到生产。 Photon OS最突出的功能: Photon OS占用空间小,启动和运行时间短。这使得Photon OS对云计算和云应用程序进行了高度优化。 它使用systemd管理服务,通过使用systemd,Photon OS采用现代Linux标准来管理系统服务。Photon OS引导用户空间并同时使用systemd启动服务。systemctl实用程序控制Photon OS上的服务。例如,不要在基于init.d的Linux系统上运行/etc/init.d/ssh脚本来停止和启动OpenSSH服务器,而是在Photon OS上运行systemctl命令:systemctl stop sshd、systemctl start sshd。 它使用Tiny DNF的开源,兼容yum的软件包管理器tdnf来管理软件包。Tdnf在保持yum强大的程序包管理功能的同时,使操作系统尽可能小。在Photon OS上,tdnf是用于安装新软件包的默认软件包管理器,它是DNF软件包管理器的C实现。
3.RancherOS 如果您希望运行Docker时没有麻烦或者问题,请考虑使用RancherOS,这是使用Docker在生产环境中运行工作负载的最小、最简单的方法。由于未来似乎将采用容器方式,因此Rancher团队使RancherOS中的每个进程都作为由Docker管理的容器运行,这种体系结构与Linux发行版中的体系结构完全不同,因为即使系统服务(例如udev和syslog)也作为容器运行。
因为RancherOS仅包含运行Docker所需的服务,所以它比大多数传统操作系统小得多,通过删除不必要的库和服务,对安全补丁和其他维护的要求也降低了。这是可能的,因为使用Docker,用户通常会将所有必需的库打包到其容器中。 RancherOS的功能: RancherOS中的所有内容都是一个容器,已经研究了所有元素和与功能相关的容器,并实现了功能,以确保RancherOS在技术上是合理的。例如,RancherOS设计为运行最新版本的Docker,从而使用户可以利用最新的Docker功能和错误修复。如您所见,您不必再担心终端上的升级和更新,您只需专注于核心业务即可。 RancherOS和Flash一样快,在启动时间方面,RancherOS的启动速度非常快。此外,启动Docker容器非常快速,类似于启动任何其他进程。如果您是一家采用微服务的组织,那么这些功能非常适合您。RancherOS需要非常低的硬件资源才能运行,这消除了硬件费用对您的项目的约束。 RancherOS的工作方式: 一个仅在容器上运行的OS在后台如何做,Rancher通过启动两个Docker实例实现了这一目标。他们将一个实例称为系统Docker,它代表系统上的第一个进程,就像普通Linux发行版中的init一样。所有其他系统服务(例如terminal、syslog和ntpd)都在Docker容器中运行。系统Docker取代了诸如systemd之类的传统初始化系统,并用于启动其他系统服务。
那么,如何避免删除用户空间中运行的所有容器以及System的容器?RancherOS出色地处理了这一问题。就是这样,System Docker运行和管理一个名为Docker的特殊容器,这是另一个Docker守护程序,负责管理所有用户的容器。您从控制台以用户身份启动的任何容器都将在此Docker中运行,这样可以与System Docker容器隔离,并确保普通用户命令不会影响系统服务(Rancher)。
4.Red Hat CoreOS (RHCOS) Red Hat Enterprise Linux CoreOS由创建Red Hat Enterprise Linux Atomic Host和CoreOS Container Linux的相同开发团队创建,其主要目标是将红帽企业Linux(RHEL)的最佳质量标准与Container Linux的自动化远程升级功能结合在一起。
RHCOS的主要功能: 基础操作系统主要由RHEL组件组成,您将获得与在RHEL上实现的质量、安全性和控制措施。 RHCOS使用rpm-ostree系统进行事务性升级,更新是通过容器映像传递的,并且是OpenShift更新过程的一部分。部署后,将容器映像提取,提取并写入磁盘,然后修改引导加载程序以引导到新版本。 RHCOS使用Podman CLI执行诸如构建,复制和管理容器之类的任务,这将用podman CLI中找到的一组兼容的容器工具代替Docker CLI工具。 RHCOS合并了CRI-O容器引擎而不是Docker容器引擎,与提供更大功能集的容器引擎相比,CRI-O提供了与不同Kubernetes版本的特定兼容性,并且占地面积更小,攻击面更小。
5.Fedora CoreOS Fedora CoreOS是一个自动更新的、最小的、整体的,以容器为中心的操作系统,不仅适用于集群,而且还可以独立运行,针对Kubernetes进行了优化。它旨在结合CoreOS Container Linux和Fedora Atomic Host的优点,将Container Linux中的Ignition与rpm-ostree和Project Atomic中的SELinux强化等技术相集成,其目标是提供最佳的容器主机,以安全、大规模地运行容器化的工作负载。
要开始使用Fedora CoreOS(FCOS),它没有安装时配置。每个FCOS系统都以通用磁盘映像开始。对于每种部署机制(云VM、本地VM、裸机),可以在首次启动时提供配置。FCOS使用Ignition读取并应用配置文件。对于云部署,Ignition通过云的用户数据机制收集配置。对于裸机,Ignition在安装时注入配置。
相关主题 |