第 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)向后兼容。

流程

  1. 导航到位于 https://mirror.openshift.com/pub/openshift-v4/clients/butane/ 的 Butane 映像下载页面。
  2. 获取 withane 二进制文件:

    1. 对于 Butane 的最新版本,请将最新的 但ane 镜像保存到当前目录中:

      $ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
    2. 可选: 对于您要在其中安装的特定类型的架构,如 aarch64 或 ppc64le,代表适当的 URL。例如:

      $ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane-aarch64 --output butane
  3. 使下载的二进制文件可执行:

    $ chmod +x butane
  4. -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 实用程序。

流程

  1. 创建一个 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。要进行这两个操作,您可以在两种部署中使用不同的文件名来重复整个过程。

  2. 通过提供您在上一步中创建的文件,创建 MachineConfig 对象:

    $ butane 99-worker-custom.bu -o ./99-worker-custom.yaml

    已为您创建一个 MachineConfig 对象 YAML 文件,以完成机器的配置。

  3. 如果将来需要更新 MachineConfig 对象,请保存 Butane 配置。
  4. 如果集群还没有运行,生成清单文件并将 MachineConfig 对象 YAML 文件添加到 openshift 目录中。如果集群已在运行,按如下所示应用该文件:

    $ oc create -f 99-worker-custom.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.