3.2. 使用 MachineConfig 对象配置节点
您可以使用本节中的任务创建 MachineConfig
对象,修改 OpenShift Container Platform 节点上运行的文件、systemd 单元文件和其他操作系统功能。有关使用机器配置的更多信息,请参阅有关 更新 SSH 授权密钥、验证镜像签名、启用 SCTP 的内容,并为 OpenShift Container Platform 配置 iSCSI initiatorname。
OpenShift Container Platform 版本 4.7 支持 Ignition 规格版本 3.2。您创建的所有新机器配置都应该基于 Ignition 规格版本 3.2。如果要升级 OpenShift Container Platform 集群,任何现有的 Ignition 规格版本 2.x 机器配置将自动转换为规格版本 3.2。
使用 "Configuring chrony time service" 过程作为如何将其他配置文件添加到 OpenShift Container Platform 节点的模型。
3.2.1. 配置 chrony 时间服务
您可以通过修改 chrony.conf
文件的内容来设置 chrony 时间服务(chronyd
)使用的时间服务器和相关设置,并通过一个机器配置将这些内容传递给节点。
流程
创建
chrony.conf
文件的内容并对其进行 base64 编码。例如:$ cat << EOF | base64 pool 0.rhel.pool.ntp.org iburst 1 driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony EOF
- 1
- 指定任何有效的、可访问的时间源,如 DHCP 服务器提供的时间源。另外,您可以指定以下 NTP 服务器:
1.rhel.pool.ntp.org
、2.rhel.pool.ntp.org
或3.rhel.pool.ntp.org
。
输出示例
ICAgIHNlcnZlciBjbG9jay5yZWRoYXQuY29tIGlidXJzdAogICAgZHJpZnRmaWxlIC92YXIvbGli L2Nocm9ueS9kcmlmdAogICAgbWFrZXN0ZXAgMS4wIDMKICAgIHJ0Y3N5bmMKICAgIGxvZ2RpciAv dmFyL2xvZy9jaHJvbnkK
创建
MachineConfig
对象文件,将 base64 字符串替换为您刚刚创建的字符串。本例将文件添加到master
节点。您可以将其更改为worker
,或为worker
角色创建额外的 MachineConfig。为集群使用的每种机器创建 MachineConfig 文件:$ cat << EOF > ./99-masters-chrony-configuration.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: master name: 99-masters-chrony-configuration spec: config: ignition: config: {} security: tls: {} timeouts: {} version: 3.2.0 networkd: {} passwd: {} storage: files: - contents: source: data:text/plain;charset=utf-8;base64,ICAgIHNlcnZlciBjbG9jay5yZWRoYXQuY29tIGlidXJzdAogICAgZHJpZnRmaWxlIC92YXIvbGliL2Nocm9ueS9kcmlmdAogICAgbWFrZXN0ZXAgMS4wIDMKICAgIHJ0Y3N5bmMKICAgIGxvZ2RpciAvdmFyL2xvZy9jaHJvbnkK mode: 420 1 overwrite: true path: /etc/chrony.conf osImageURL: "" EOF
- 1
- 为机器配置文件的
mode
字段指定数值模式。在创建文件并应用更改后,模式
将转换为十进制值。您可以使用oc get mc <mc-name> -o yaml
命令来检查 YAML 文件。
- 对配置文件做一个备份副本。
使用两种方式之一应用配置:
-
如果集群还没有启动,在生成清单文件后,将此文件添加到
<installation_directory>/openshift
目录中,然后继续创建集群。 如果集群已在运行,请应用该文件:
$ oc apply -f ./99-masters-chrony-configuration.yaml
-
如果集群还没有启动,在生成清单文件后,将此文件添加到