当前位置: 首页 > 工具软件 > Fedora CoreOS > 使用案例 >

OpenShift 4 - Fedora CoreOS (3) - 定制 CoreOS ISO

齐元章
2023-12-01

OpenShift 4.x HOL教程汇总


说明:建议先完成本系列前面的说明文档中的操作。

定制 CoreOS ISO 文件

我们可以使用coreos_installer 工具对原始的CoreOS ISO文件进行加工,将Ignition文件打包进去从而生成定制的 CoreOS ISO文件。使用定制的CoreOS ISO文件可以在系统启动完成后自动执行CoreOS的安装,因此CoreOS的安装会更加简单。

获得 coreos_installer 文件

可以通过以下2种方法之一可获得 coreos_installer :

  1. 方法一
$ wget https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/coreos-installer/latest/coreos-installer
  1. 方法二
$ yum install coreos-installer

生成定制 CoreOS ISO 文件

  1. 设置参数变量
$ export COREOS_ISO_ORIGIN_FILE=fedora-coreos-32.20200907.3.0-live.x86_64.iso
$ export COREOS_ISO_CUSTOMIZED_FILE=my-coreos.iso
$ export IGN_FILE=config.ign
  1. 确认原始的CoreOS ISO文件中是没有包含Ignition配置。
$ coreos-installer iso ignition show $COREOS_ISO_ORIGIN_FILE
Error: No embedded Ignition config.
  1. 执行命令,将Ignition文件和原始CoreOS ISO文件打包生成定制的CoreOS ISO文件。
$ coreos-installer iso ignition embed $COREOS_ISO_ORIGIN_FILE --ignition-file $IGN_FILE $COREOS_ISO_ORIGIN_FILE --output $COREOS_ISO_CUSTOMIZED_FILE
  1. 确认定制CoreOS ISO 文件中已经包含Ignition配置了。
$ coreos-installer iso ignition show $COREOS_ISO_CUSTOMIZED_FILE
{"ignition":{"version":"3.1.0"},"passwd":{"users":[{"name":"core","passwordHash":"$1$yoursalt$7/tmQXmlhL0pYfN/fyBZS1","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIBxVOCdtNHBgbEVQseDdRonC/OlP5qm7MoKeuwYFjvg6UKXl8MTplQ4ErV1r994XnkErRBzlxsPdn/s7/alJ8CJ3Po39QDMlJvvy/nG3Vak/naxc6hXwL4to1oJrMhyp7YsY2EzPke+b1FyWD6NZ27mhJnCmNhw4pND6QxfZulVCnlolg9BeTSuXaIRrgLnjdSU+9ojTz6BMVo5MWY+xXRNrydlI4rx19tnd0c62SwQnvjO8i+hCXzNAkwGb8J5KDLs7jYZhjOW4IyHa95NdgWlRDcVICQSbA0makjJyIFK9KDzaTYM0MvCpSkMXo9uTFKwPiKfhBrKw9n8nBegXN root@node1"]}]}}

安装定制 CoreOS ISO 文件

使用定制的 CoreOS ISO 文件可以直接引导BareMetal或虚拟机,并根据Ignition自动完成CoreOS的安装。在完成安装后,我们可以直接在虚拟机的控制台上用core/password(在《OpenShift 4 - Fedora CoreOS (1) - 安装》中创建的“config.ign”文件里包含的core用户的密码)登录CoreOS。由于在本例使用的Ignition文件中没有指定IP地址,因此CoreOS会使用DHCP获得一个动态IP地址。为此我们需要先通过虚拟机控制台执行“ip a”命令获得它的IP地址(例如本环境分配的IP为“192.168.1.20”),然后就可使用Ignition文件中公钥对应的私钥访问这个由定制的ISO安装的CoreOS环境了。

$ ssh core@192.168.1.20 -i id_rsa
Warning: Permanently added '192.168.1.20' (RSA) to the list of known hosts.
X11 forwarding request failed on channel 0
Fedora CoreOS 32.20200907.3.0
Tracker: https://github.com/coreos/fedora-coreos-tracker
Discuss: https://discussion.fedoraproject.org/c/server/coreos/
 
Last login: Wed Oct  7 12:37:03 2020

参考

https://github.com/coreos/coreos-installer/blob/master/docs/cmd/iso.md
https://computingforgeeks.com/install-fedora-coreos-fcos-on-kvm-openstack/
https://dustymabe.com/2020/04/04/automating-a-custom-install-of-fedora-coreos/

 类似资料: