介绍 Fedora 核心操作系统

这 Fedora CoreOS 团队很高兴 宣布第一个预览版本 的 Fedora CoreOS,一个新的 Fedora 专为安全和大规模运行容器化工作负载而构建的版本。 这是两者的继承者 Fedora 原子宿主CoreOS 容器 Linux. Fedora CoreOS 将 Container Linux 的配​​置工具、自动更新模型和理念与 Atomic Host 的打包技术、OCI 支持和 SELinux 安全性相结合。

请继续阅读有关此令人兴奋的新版本的更多详细信息。

为什么 Fedora 核心操作系统?

容器允许将工作负载可重复地部署到生产中并自动扩展以满足需求。 容器提供的隔离意味着主机操作系统可以很小。 它只需要一个 Linux 内核、systemd、一个容器运行时和一些额外的服务,比如一个 SSH 服务器。

虽然容器可以在全尺寸服务器操作系统上运行,但专门为容器构建的操作系统可以提供通用操作系统无法提供的功能。 由于所需的软件最少且统一,因此可以将整个操作系统部署为一个单元,几乎不需要定制。 而且,由于容器跨多个节点部署以实现冗余,因此操作系统可以自动更新自身,然后在不中断工作负载的情况下重新启动。

Fedora CoreOS 旨在成为您的计算集群的安全可靠的主机。 它专为运行容器化工作负载而设计,无需定期维护,使用最新的操作系统改进、错误修复和安全更新自动更新自身。 它使用 Ignition 进行自我配置,使用 Podman 和 Moby 运行容器,并使用 rpm-ostree 以原子方式自动更新自身。

供应不可变的基础设施

无论您是在云端、虚拟化还是在裸机上运行, Fedora CoreOS 机器总是从同一个地方开始:一个 通用操作系统映像. 然后,在第一次启动期间, Fedora CoreOS 使用 Ignition 来配置系统。 Ignition 从云用户数据或远程 URL 读取 Ignition 配置,并使用它来创建磁盘分区和文件系统、用户、文件和 systemd 单元。

要配置机器:

  1. 写一个 Fedora 核心操作系统配置 (FCC),一个 YAML 文档,指定机器的所需配置。 FCC 支持所有 Ignition 功能,还提供额外的语法(“糖”),可以更轻松地指定典型的配置更改。
  2. 使用 Fedora CoreOS 配置转换器验证您的 FCC 并将其转换为 Ignition 配置.
  3. 启动一个 Fedora CoreOS 机器和 将 Ignition 配置传递给它. 如果计算机成功启动,则配置已完成且没有错误。

Fedora CoreOS 旨在作为不可变的基础设施进行管理。 配置机器后,您不应修改 /etc 或以其他方式重新配置机器。 相反,修改 FCC 并使用它来配置替换机器。

这类似于您管理容器的方式:容器镜像不会就地更新,而是从头开始重建并重新部署。 这种方法可以在负载增加时轻松横向扩展。 只需使用相同的 Ignition 配置来启动其他机器。

自动更新

默认情况下, Fedora CoreOS 会自动下载新的操作系统版本,自动安装它们,然后重新启动。 随着时间的推移,版本会逐渐推出。 如果我们在新版本中发现问题,我们甚至可以停止推出。 之间的升级 Fedora 版本被视为任何其他更新,并在没有用户干预的情况下自动应用。

Linux 生态系统发展迅速,软件更新可能会带来不受欢迎的行为变化。 但是,要使自动更新值得信赖,它们不能破坏现有机器。 为了避免这种情况, Fedora CoreOS 采用两管齐下的方法。 首先,我们会自动测试对操作系统的每个更改。 但是,自动测试无法捕获所有回归,因此 Fedora CoreOS 还提供了多个独立的发布流:

  • 测试流是当前的常规快照 Fedora 发布,加上更新。
  • 在测试版本可用两周后,它被发送到稳定流。 测试中发现的错误将在版本发送到稳定版之前修复。
  • 下一个流是即将到来的常规快照 Fedora 发布,为测试更大的更改留出更多时间。

所有三个流都收到安全更新和关键错误修复,并且旨在安全用于生产。 大多数机器应该运行稳定的流,因为它接受了最多的测试。 但是,用户应该在下一个和测试流上运行百分之几的节点,并将问题报告给 问题追踪器. 这有助于确保仅影响某些工作负载或某些硬件的错误在稳定之前得到修复。

遥测

为了帮助指导我们的开发工作, Fedora 默认情况下,CoreOS 将执行一些遥测。 一项名为 fedora-coreos-pinger 会定期收集有关机器的非识别信息,例如操作系统版本、云平台、实例类型,并报告给由机器控制的服务器 Fedora 项目。

不会报告或收集任何唯一标识符,并且数据只会汇总用于回答有关怎样 Fedora 正在使用 CoreOS。 我们将突出记录此集合正在发生以及怎样禁用它。 我们还将通过报告其他详细信息(包括可能识别机器的信息)来告诉您怎样为项目提供帮助。

的现状 Fedora 核心操作系统

Fedora CoreOS 仍在积极开发中,一些计划中的功能在第一个预览版中不可用:

  • 当前仅存在测试流; 下一个稳定的流尚不可用。
  • 一些云和虚拟化平台尚不可用。 目前仅支持 x86_64。
  • 启动直播 Fedora 尚不支持通过网络 (PXE) 或 CD 的 CoreOS 系统。
  • 我们正在积极讨论与 Kubernetes 发行版(包括 OKD)更紧密集成的计划。
  • Fedora 随着时间的推移,CoreOS Config Transpiler 将获得更多的糖分。
  • 遥测尚未激活。
  • 文档仍在开发中。

尽管 Fedora CoreOS 旨在供生产使用,不应在生产中使用预览版本。 Fedora CoreOS 在预览期间可能会以不兼容的方式更改。 无法保证预览版本会成功更新到更高版本的预览版本或稳定版本。

未来

我们预计预览期将持续大约六个月。 在预览结束时,我们将声明 Fedora CoreOS 稳定并鼓励在生产中使用它。

CoreOS Container Linux 将维持到大约六个月后 Fedora CoreOS 被声明为稳定的。 我们将在今年晚些时候宣布确切的时间。 在预览期间,我们将发布工具和文档,帮助 Container Linux 用户迁移到 Fedora 核心操作系统。

Fedora Atomic Host 将一直维持到生命周期结束 Fedora 29,预计11月下旬。 在那之前, Fedora Atomic Host 用户应该迁移到 Fedora 核心操作系统。

涉足 Fedora 核心操作系统

要试用新版本,请前往 下载页面 获取操作系统映像或云映像 ID。 然后使用 快速入门指南 使机器快速运行。 最后,参与! 您可以将错误和缺失的功能报告给 问题追踪器. 你也可以讨论 Fedora CoreOS 中 Fedora 话语, 这 开发邮件列表,或在 Freenode 上的 #fedora-coreos 中。

欢迎来到 Fedora CoreOS,让我们知道您的想法!

相关阅读:

Posted in: LinuxTags: