Change CoreOS to Fedora CoreOS(FCOS)

Signed-off-by: Kang HuaiShuai <khs1994@khs1994.com>
This commit is contained in:
Kang HuaiShuai
2020-02-01 10:24:29 +08:00
parent 2f46c5180c
commit 5577c9caa6
8 changed files with 71 additions and 41 deletions

View File

@@ -1,31 +1,28 @@
# CoreOS 介绍
# Fedora CoreOS 介绍
[CoreOS](https://coreos.com/) 对 Docker 甚至容器技术的发展都带来了巨大的推动作用。其提供了运行现代基础设施的特性,支持大规模服务部署,使得在基于最小化的现代操作系统上构建规模化的计算仓库成为了可能
[Fedora CoreOS](https://getfedora.org/coreos/) 是一个自动更新的,最小的,整体的,以容器为中心的操作系统,不仅适用于集群,而且可独立运行,并针对运行 Kubernetes 进行了优化。它旨在结合 CoreOS Container Linux 和 Fedora Atomic Host 的优点,将 Container Linux 中的 [Ignition](https://github.com/coreos/ignition) 与 [rpm-ostree](https://github.com/coreos/rpm-ostree) 和 Project Atomic 中的 SELinux 强化等技术相集成。其目标是提供最佳的容器主机,以安全,大规模地运行容器化的工作负载
# CoreOS 特性
## FCOS 特性
## 一个最小化操作系统
### 一个最小化操作系统
CoreOS 被设计成一个基于容器的最小化的现代操作系统它比现有的 Linux 安装平均节省 40% RAM大约 114M 并允许从 PXE iPXE 非常快速的启动
FCOS 被设计成一个基于容器的最小化的现代操作系统它比现有的 Linux 安装平均节省 40% RAM大约 114M 并允许从 PXE iPXE 非常快速的启动
## 无痛更新
### 系统初始化
利用主动和被动双分区方案来更新 OS使用分区作为一个单元而不是一个包一个包的更新这使得每次更新变得快速可靠而且很容易回滚
Ignition 是一种配置实用程序可读取配置文件JSON 格式并根据该配置配置 FCOS 系统可配置的组件包括存储文件系统systemd 和用户
## Docker 容器
Ignition 在系统首次启动期间 initramfs 仅运行一次由于 Ignition 在启动过程中的早期运行因此它可以在用户空间开始启动之前重新对磁盘分区格式化文件系统创建用户并写入文件 systemd 启动时systemd 服务已被写入磁盘从而加快了启动时间
应用作为 Docker 容器运行在 CoreOS 容器以包的形式提供最大得灵活性并且可以在几毫秒启动
### 自动更新
## 支持集群
FCOS 使用 rpm-ostree 系统进行事务性升级无需像 yum 升级那样升级单个软件包而是 rpm-ostree OS 升级作为一个原子单元进行新的 OS 部署在升级期间进行并在下次重新引导时生效如果升级出现问题则一次回滚和重新启动会使系统返回到先前的状态确保了系统升级对群集容量的影响降到最小
CoreOS 可以在一个机器上很好地运行但是它被设计用来搭建集群
### 容器工具
可以通过 k8s 很容易得使应用容器部署在多台机器上并且通过服务发现把他们连接在一起
对于诸如构建复制和其他管理容器的任务FCOS 用一组兼容的容器工具代替了 **Docker CLI** 工具**podman CLI** 工具支持许多容器运行时功能例如运行启动停止列出和删除容器和镜像**skopeo CLI** 工具可以复制认证和签名镜像您可以使用 **crictl CLI** 工具来处理 CRI-O 容器引擎中的容器和镜像
## 分布式系统工具
## 参考文档
内置诸如分布式锁和主选举等原生工具用来构建大规模分布式系统得构建模块
## 服务发现
很容易定位服务在集群的那里运行并当发生变化时进行通知它是复杂高动态集群必不可少的
* [官方文档](https://docs.fedoraproject.org/en-US/fedora-coreos/)
* [openshift 官方文档](https://docs.openshift.com/container-platform/4.3/architecture/architecture-rhcos.html)