Fedora-CoreOS配置与试用(2023年)

前言

在前阵子CentOS停更之更新的争议期间发现的系统,其OVA文件不超过900MB,相比较于Ubuntu-Server的2GB和RockyLinux完整版的1.5GB的光盘文件要小不少。

pPa33xe.png

默认安装Docker(但Docker-compose还是需要自己装)与Podman是我比较中意的一个点

抽空试了一下,于是就有了这篇文章

下载

Fedora CoreOS采用滚动更新策略,直接选择当前最新的Stable即可

pPa3Jrd.png

我自己习惯用的是VMware虚拟机,下载的就是OVA文件

pPa3GKH.png

虚拟机导入

把OVA拖拽进入VMware就会自动进入导入界面,填完名称和存储路径就进入下一步

pPa3hGT.png

下面这个两个Ignation config折腾了好久

Provisioning Fedora CoreOS on VMware

pPa3fiV.png

pPa34RU.png

看到资料上面说要example.ign是傻眼的,了解完Ignition这个玩意时是懵逼的

1
Ignition is the utility used by Fedora CoreOS and RHEL CoreOS to manipulate disks during the initramfs. This includes partitioning disks, formatting partitions, writing files (regular files, systemd units, etc.), and configuring users. On first boot, Ignition reads its configuration from a source of truth (remote URL, network metadata service, hypervisor bridge, etc.) and applies the configuration.

emmm,行,配置文件,但要我一个没有Podman的Windows机用Podman镜像干甚

pPa3LIx.png

本来准备就到此结束,但Google转了一圈发现用Butane可以解决该问题

pPa3qd1.png

好一个“Human Readable”,前面Ignition是搁那逗人玩是吧(Doge)

在网上改了份模板做配置文件,配置了Docker加速镜像与静态IP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
variant: fcos
version: 1.4.0
storage:
files:
- path: /etc/NetworkManager/system-connections/eth0.nmconnection
mode: 0600
overwrite: true
contents:
inline: |
[connection]
type=ethernet
interface-name=ens192
[ipv4]
method=manual
addresses=192.168.32.11/24
gateway=192.168.32.2
dns=223.5.5.5;8.8.8.8
- path: /etc/docker/daemon.json
mode: 0600
overwrite: true
contents:
inline: |
{
"registry-mirrors": ["https://docker.nju.edu.cn/"]
}
passwd:
users:
- name: root
password_hash: $y$j9T$kbEPbqGMlUfOaf6Ec93YZ/$YkFbCNLtyu4vMw6I2J2.jfGGN/aLtB55362.
ssh_authorized_keys:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDRhzzs46IzGeSkZIOjYIyG7ogzwK7HnRqb9ksO95RdjbzZLs4pWM01LCMSW6sqtsMPpLTxU9zv+EkUo0YnH++NYdI0cLFBq/5DawfKw=="

更详细的配置说明要看spec

ign文件是Butane由yaml转换而来

1
./butane-x86_64-unknown-linux-gnu DockerFedora.yaml -o DockerFedora.ign

base64转换出来后粘贴到框里,等待导入即可

主要要看好位置再粘贴!

pPa3bZR.png

需要注意的是,OVA默认的网络模式为桥接模式,设置了固定IP就要改为NAT模式(把机子关闭后更改)

pPa3vRO.png

SSH连接上去,总算告一段落

初步使用体验

编辑器默认为Vi

root的目录竟然在/var下面,第一次见

pPa3xzD.png

全局的可执行文件建议放在/var/usrlocal/bin默认的/usr/bin目录为只读不可写,就不去动了

居然不自带dnf或yum!!!但有rpm可用

pPa8SQe.png

最后poweroff居然把界面卡死了,不太能理解这种事情

pPa3jJK.png

总结

一个小巧的专门跑容器的最小系统,滚动更新的策略使得其只能算是玩具,生产环境不可能上滚动更新的。

有点意思,但也就仅此而已,如果没有最小容器系统的需求不推荐使用Fedora-CoreOS。