特点
- 容器专用
- 开源生态
- 极小
- 安全
- (对任何人)开放
- 灵活(支持各种安装方法)
目前最新版本
介绍
Fedora CoreOS 是一个自动更新、最小、整体式、以容器为中心的操作系统,专为集群设计,但也可以独立运行,针对 Kubernetes 进行了优化,但即使没有它也能很好地运行。 其目标是提供最好的容器主机来安全、大规模地运行容器化工作负载。
Fedora CoreOS 没有单独的安装磁盘。相反,每个实例都从通用磁盘映像开始,该映像在首次启动时通过 Ignition 进行自定义。
每个平台都有特定的 logic 来检索和应用第一个引导配置。对于云部署,Ignition 通过用户数据机制收集配置。在裸机的情况下,Ignition 可以从磁盘或远程源获取其配置。
启动 qemu hypervisor
STREAM="stable"
# as an installed binary:
coreos-installer download -s "${STREAM}" -p qemu -f qcow2.xz --decompress -C ~/.local/share/libvirt/images/
# or as a container:
podman run --pull=always --rm -v $HOME/.local/share/libvirt/images/:/data -w /data \
quay.io/coreos/coreos-installer:release download -s "${STREAM}" -p qemu -f qcow2.xz --decompress
# 通过 virt-install 启动虚拟机
IGNITION_CONFIG="/path/to/example.ign"
IMAGE="/path/to/image.qcow2"
VM_NAME="fcos-test-01"
VCPUS="2"
RAM_MB="2048"
STREAM="stable"
DISK_GB="10"
# For x86 / aarch64,
IGNITION_DEVICE_ARG=(--qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${IGNITION_CONFIG}")
# For s390x / ppc64le,
IGNITION_DEVICE_ARG=(--disk path="${IGNITION_CONFIG}",format=raw,readonly=on,serial=ignition,startup_policy=optional)
# Setup the correct SELinux label to allow access to the config
chcon --verbose --type svirt_home_t ${IGNITION_CONFIG}
virt-install --connect="qemu:///system" --name="${VM_NAME}" --vcpus="${VCPUS}" --memory="${RAM_MB}" \
--os-variant="fedora-coreos-$STREAM" --import --graphics=none \
--disk="size=${DISK_GB},backing_store=${IMAGE}" \
--network bridge=virbr0 "${IGNITION_DEVICE_ARG[@]}"
支持在不同平台预制机器
支持各种类型系统配置
这些工具真实的展示了物理机上的配置如何以 yaml 的形式即可管理。 虚拟机,容器,物理机的管理方式是一样的。
升级
软件更新通常遵循 next testing →→ stable 流程,即 next 拥有最新的软件和stable 最旧的软件。上游软件组件通常进行升级测试,而不是降级测试,这意味着上游软件通常可以处理数据/配置向前迁移(升级),但不能处理向后迁移(降级)。因此,从 stable → testing 或 testing → 变基通常更安全 next ,但相反的方向则不太安全。
要完成操作系统更新,必须要重启(啊?? 不是有的文档说可以不重启)
如果操作系统做不到热更新的话,那其实在操作系统本身可维护性上, 没有什么本质的区别