第 1 章 自定义节点
OpenShift Container Platform 通过 Ignition 支持集群范围和每机器配置,允许对操作系统进行任意分区和文件内容更改。通常,如果在 Red Hat Enterprise Linux (RHEL) 中记录了配置文件,则支持通过 Ignition 修改它。
部署机器配置更改的方法有两种:
-
创建包含在清单文件中的机器配置,以便在
openshift-install
期间启动集群。 - 创建通过 Machine Config Operator 传递给运行的 OpenShift Container Platform 节点的机器配置。
另外,修改引用配置,比如在安装裸机节点时传递给 coreos-installer
的 Ignition 配置允许每个机器配置。这些更改目前对 Machine Config Operator 不可见。
以下小节描述了您可能需要以这种方式在节点上配置的功能。
1.1. 使用 Butane 创建机器配置
机器配置用于配置 control plane 和 worker 机器,方法是指示机器如何创建用户和文件系统、设置网络、安装 systemd 单元等。
因为修改机器配置可能比较困难,所以您可以使用 Butane 配置为您创建机器配置,从而使节点配置更容易。
1.1.1. 关于 Butane
但ane 是一个命令行实用程序,OpenShift Container Platform 使用它为编写机器配置提供便捷的简写语法,并对机器配置进行额外的验证。Butane 接受的 Butane 配置文件的格式在 OpenShift Butane 配置规格中定义。
1.1.2. 安装 Butane
您可以安装 Butane 工具(但ane
),以便使用命令行界面创建 OpenShift Container Platform 机器配置。您可以通过下载对应的二进制文件,在 Linux、Windows 或 macOS 上安装但可
正常工作。
但ane 版本与旧版本以及 Fedora CoreOS Config Transpiler(FCCT)向后兼容。
流程
- 导航到位于 https://mirror.openshift.com/pub/openshift-v4/clients/butane/ 的 Butane 映像下载页面。
获取
withane
二进制文件:对于 Butane 的最新版本,请将最新的
但ane
镜像保存到当前目录中:$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
可选: 对于您要在其中安装的特定类型的架构,如 aarch64 或 ppc64le,代表适当的 URL。例如:
$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane-aarch64 --output butane
使下载的二进制文件可执行:
$ chmod +x butane
将
-ane
二进制文件移到PATH 上的目录中
。要查看您的
PATH
,请打开终端并执行以下命令:$ echo $PATH
验证步骤
现在,您可以通过运行 butane 命令使用 But
ane
工具:$ butane <butane_file>
1.1.3. 使用 Butane 创建 MachineConfig 对象
您可以使用 Butane 生成 MachineConfig
对象,以便在安装时或通过 Machine Config Operator 配置 worker 或 control plane 节点。
先决条件
-
您已安装了 with
ane
实用程序。
流程
创建一个 Butane 配置文件。以下示例创建一个名为
99-worker-custom.bu
的文件,该文件将系统控制台配置为显示内核调试信息并为 chrony 时间服务指定自定义设置:variant: openshift version: 4.12.0 metadata: name: 99-worker-custom labels: machineconfiguration.openshift.io/role: worker openshift: kernel_arguments: - loglevel=7 storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony
注意99-worker-custom.bu
文件设置为为 worker 节点创建机器配置。要在 control plane 节点上部署,请将角色从worker
改为master
。要进行这两个操作,您可以在两种部署中使用不同的文件名来重复整个过程。通过提供您在上一步中创建的文件,创建
MachineConfig
对象:$ butane 99-worker-custom.bu -o ./99-worker-custom.yaml
已为您创建一个
MachineConfig
对象 YAML 文件,以完成机器的配置。-
如果将来需要更新
MachineConfig
对象,请保存 Butane 配置。 如果集群还没有运行,生成清单文件并将
MachineConfig
对象 YAML 文件添加到openshift
目录中。如果集群已在运行,按如下所示应用该文件:$ oc create -f 99-worker-custom.yaml
其他资源