Fedora CoreOS 是一个自动更新的、最小的、单一的、以容器为中心的操作系统,为集群设计,但也可以独立运行,为 Kubernetes 优化,但没有它也很好。它旨在结合 CoreOS Container Linux 和 Fedora Atomic Host 的优点,将来自 Container Linux 的 Ignition 等技术与来自 Project Atomic 的 rpm-ostree 和 SELinux 加固技术相结合。其目标是提供最佳容器主机,以安全、大规模地运行容器化工作负载。
获取 Fedora CoreOS
- Bare Metal ISO 34.20211004.3.1 stable
- https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/34.20211004.3.1/x86_64/fedora-coreos-34.20211004.3.1-live.x86_64.iso
下载好live光盘iso文件,建立一个虚拟机
-
live光盘启动后是一个类似 WinPE的内存挂载系统,用来安装
Fedora CoreOS
########################################################################### Welcome to the CoreOS live environment. This system is running completely from memory, making it a good candidate for hardware discovery and installing persistently to disk. Here is an example of running an install to disk via coreos-installer: sudo coreos-installer install /dev/sda \r --ignition-url https://example.com/example.ign You may configure networking via 'sudo nmcli' or 'sudo nmtui' and have that configuration persist into the installed system by passing the '--copy-network' argument to 'coreos-installer install'. Please run 'coreos-installer install --help' for more information on the possible install options. ########################################################################### Fedora CoreOS 34.20211004.3.1 Tracker: https://github.com/coreos/fedora-coreos-tracker Discuss: https://discussion.fedoraproject.org/c/server/coreos/
安装 Fedora CoreOS
到硬盘中的命令
sudo coreos-installer install /dev/sda
安装速度还是非常快的,只是把硬盘分区,然后把光盘中的文件想 ghost 一样解压到硬盘中
- 34.20211004.3.1 Arch: x86_64 Release Date: Oct 20, 2021
- ignition 2.12.0 kernel5.14.9 moby-engine 20.10.8 podman 3.3.1 rpm-ostree 2021.11 systemd 248.7
- 396 packages (expand); 47 upgraded (expand);
- 光盘中的软件包主要如上,工具软件是是只读保存在一个 img 文件中,系统启动的时候挂载这个 img 镜像
Fedora CoreOS
系统已经安装完成了,reboot 重启到实际的硬盘系统
- 你是没法登陆的,因为你不知道密码,也没远程登陆的证书
先研究下ssh证书登陆 证书登陆的脚本.sh
#!/bin/bash
mkdir -p ~/.ssh && cd ~/.ssh
authorized_keys(){
cat <<EOF >> authorized_keys
ssh-rsa 把你的公钥放这行 root
EOF
}
authorized_keys
- 制作类似一个脚本保存在能 web访问的网页目录下,如果你不懂,就当我没说
Fedora CoreOS
系统安装后没法启动,先live光盘启动,把 SSH 证书 注入到硬盘系统
- 如果你重启没法登陆,研究了ssh证书登陆,然后使用 live 光盘重启来修复证书登陆
1. 先启用live光盘 ssh 证书登陆,使用SSH远程登陆,方便复制粘贴
bash < (curl -sL 188.8.8.8/sshkey.sh)
# 你把 sshkey.sh 脚本存放到一台网页服务器上
ssh [email protected] # 使用ssh工具远程登陆
2. 使用 partx或fdisk 查看硬盘分区,查到 /dev/sda4
是硬盘系统 root 分区
$ sudo partx /dev/sda
NR START END SECTORS SIZE NAME UUID
1 2048 4095 2048 1M BIOS-BOOT e7503859-edcd-4cd0-af97-0a2fe6684831
2 4096 264191 260096 127M EFI-SYSTEM 37d8cf15-0620-4a6d-ba07-a0836412b7d5
3 264192 1050623 786432 384M boot c251fa18-a8cf-46e9-9779-38061d148096
4 1050624 5005278 3954655 1.9G root c5cebabd-7bd9-49da-bfbd-395e534885b2
$ sudo fdisk -l
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 264191 260096 127M EFI System
/dev/sda3 264192 1050623 786432 384M Linux filesystem
/dev/sda4 1050624 5005278 3954655 1.9G Linux filesystem
3. 挂载 /dev/sda4
根分区,添加 ssh 证书文件
sudo mkdir /mnt/sda4
sudo mount /dev/sda4 /mnt/sda4
cd /mnt/sda4/ostree/deploy/fedora-coreos/var/home/core
sudo mkdir .ssh
sudo cp ~/.ssh/authorized_keys .ssh/
$ ls -a .ssh/
authorized_keys
4. 给 root 用户也添加 ssh 证书
sudo -i
cd /mnt/sda4/ostree/deploy/fedora-coreos/var/
cd roothome/
cp /home/core/.ssh/authorized_keys .ssh/
$ ls -a .ssh/
authorized_keys
卸载光盘使用硬盘启动,再远程 ssh 登陆 root 和 core 用户都能远程登陆了
ssh [email protected]
ssh [email protected]
0 条评论