14.6. 安装程序置备的安装后配置


成功部署安装程序置备的集群后,请考虑以下安装后流程。

14.6.1. 可选:为断开连接的集群配置 NTP

OpenShift Container Platform 在集群节点上安装 chrony 网络时间协议(NTP)服务。使用以下步骤在 control plane 节点上配置 NTP 服务器,并将计算节点配置为成功部署后,将 worker 节点配置为 control plane 节点的 NTP 客户端。

为断开连接的集群配置 NTP

OpenShift Container Platform 节点必须在日期和时间上达成一致才能正确运行。当计算节点从 control plane 节点上的 NTP 服务器检索日期和时间时,它会启用未连接到可路由网络的集群的安装和操作,因此无法访问更高的 stratum NTP 服务器。

流程

  1. 使用以下命令在安装主机上安装 Butane:

    $ sudo dnf -y install butane
  2. 为 control plane 节点创建一个 Butane 配置 99-master-chrony-conf-override.bu,包括 chrony.conf 文件的内容。

    注意

    如需有关 Butane 的信息,请参阅"使用 Butane 创建机器配置"。

    但ane 配置示例

    variant: openshift
    version: 4.16.0
    metadata:
      name: 99-master-chrony-conf-override
      labels:
        machineconfiguration.openshift.io/role: master
    storage:
      files:
        - path: /etc/chrony.conf
          mode: 0644
          overwrite: true
          contents:
            inline: |
              # Use public servers from the pool.ntp.org project.
              # Please consider joining the pool (https://www.pool.ntp.org/join.html).
    
              # The Machine Config Operator manages this file
              server openshift-master-0.<cluster-name>.<domain> iburst 1
              server openshift-master-1.<cluster-name>.<domain> iburst
              server openshift-master-2.<cluster-name>.<domain> iburst
    
              stratumweight 0
              driftfile /var/lib/chrony/drift
              rtcsync
              makestep 10 3
              bindcmdaddress 127.0.0.1
              bindcmdaddress ::1
              keyfile /etc/chrony.keys
              commandkey 1
              generatecommandkey
              noclientlog
              logchange 0.5
              logdir /var/log/chrony
    
              # Configure the control plane nodes to serve as local NTP servers
              # for all compute nodes, even if they are not in sync with an
              # upstream NTP server.
    
              # Allow NTP client access from the local network.
              allow all
              # Serve time even if not synchronized to a time source.
              local stratum 3 orphan

    1
    您必须将 <cluster-name> 替换为集群名称,并将 <domain> 替换为完全限定域名。
  3. 使用 Butane 生成 MachineConfig 对象文件 99-master-chrony-conf-override.yaml,其中包含要发送到 control plane 节点的配置:

    $ butane 99-master-chrony-conf-override.bu -o 99-master-chrony-conf-override.yaml
  4. 为引用 control plane 节点上的 NTP 服务器的计算节点创建 Butane 配置 99-worker-chrony-conf-override.bu,包括 chrony.conf 文件的内容。

    但ane 配置示例

    variant: openshift
    version: 4.16.0
    metadata:
      name: 99-worker-chrony-conf-override
      labels:
        machineconfiguration.openshift.io/role: worker
    storage:
      files:
        - path: /etc/chrony.conf
          mode: 0644
          overwrite: true
          contents:
            inline: |
              # The Machine Config Operator manages this file.
              server openshift-master-0.<cluster-name>.<domain> iburst 1
              server openshift-master-1.<cluster-name>.<domain> iburst
              server openshift-master-2.<cluster-name>.<domain> iburst
    
              stratumweight 0
              driftfile /var/lib/chrony/drift
              rtcsync
              makestep 10 3
              bindcmdaddress 127.0.0.1
              bindcmdaddress ::1
              keyfile /etc/chrony.keys
              commandkey 1
              generatecommandkey
              noclientlog
              logchange 0.5
              logdir /var/log/chrony

    1
    您必须将 <cluster-name> 替换为集群名称,并将 <domain> 替换为完全限定域名。
  5. 使用 Butane 生成 MachineConfig 对象文件 99-worker-chrony-conf-override.yaml,其中包含要交付至 worker 节点的配置:

    $ butane 99-worker-chrony-conf-override.bu -o 99-worker-chrony-conf-override.yaml
  6. 99-master-chrony-conf-override.yaml 策略应用到 control plane 节点。

    $ oc apply -f 99-master-chrony-conf-override.yaml

    输出示例

    machineconfig.machineconfiguration.openshift.io/99-master-chrony-conf-override created

  7. 99-worker-chrony-conf-override.yaml 策略应用到计算节点。

    $ oc apply -f 99-worker-chrony-conf-override.yaml

    输出示例

    machineconfig.machineconfiguration.openshift.io/99-worker-chrony-conf-override created

  8. 检查应用的 NTP 设置的状态。

    $ oc describe machineconfigpool

14.6.2. 安装后启用置备网络

通过为裸机集群提供支持的安装程序和安装程序置备安装,可以在没有 provisioning 网络的情况下部署集群。当每个节点的基板管理控制器可以通过 baremetal 网络 路由时,此功能适用于概念验证集群或仅使用 Redfish 虚拟介质单独部署的情况。

您可在安装后使用 Cluster Baremetal Operator(CBO)启用 置备 网络。

先决条件

  • 必须存在专用物理网络,连接到所有 worker 和 control plane 节点。
  • 您必须隔离原生、未标记的物理网络。
  • provisioningNetwork 配置设置为 Managed 时,网络无法有一个 DHCP 服务器。
  • 您可以省略 OpenShift Container Platform 4.10 中的 provisioningInterface 设置,以使用 bootMACAddress 配置设置。

流程

  1. 设置 provisioningInterface 设置时,首先确定集群节点的调配接口名称。例如: eth0 or eno1
  2. 在集群节点的 调配 网络接口上启用预引导执行环境(PXE)。
  3. 检索 provisioning 网络的当前状态,并将其保存到 provisioning 自定义资源(CR)文件中:

    $ oc get provisioning -o yaml > enable-provisioning-nw.yaml
  4. 修改 provisioning CR 文件:

    $ vim ~/enable-provisioning-nw.yaml

    向下滚动到 provisioningNetwork 配置设置,并将它从 Disabled 改为 Managed。然后,在 provisioningNetwork 设置后添加 provisioningIPprovisioningNetworkCIDRprovisioningDHCPRangeprovisioningInterfacewatchAllNameSpaces 配置设置。为每项设置提供适当的值。

    apiVersion: v1
    items:
    - apiVersion: metal3.io/v1alpha1
      kind: Provisioning
      metadata:
        name: provisioning-configuration
      spec:
        provisioningNetwork: 1
        provisioningIP: 2
        provisioningNetworkCIDR: 3
        provisioningDHCPRange: 4
        provisioningInterface: 5
        watchAllNameSpaces: 6
    1
    provisioningNetworkManagedUnmanaged 或 Disabled 之一。当设置为 Managed 时,Metal3 管理调配网络,CBO 使用配置的 DHCP 服务器部署 Metal3 pod。当设置为 Unmanaged 时,系统管理员手动配置 DHCP 服务器。
    2
    provisioningIP 是 DHCP 服务器和 ironic 用于调配网络的静态 IP 地址。这个静态 IP 地址必须在 provisioning 子网内,且不在 DHCP 范围内。如果配置这个设置,它必须具有有效的 IP 地址,即使 provisioning 网络是 Disabled。静态 IP 地址绑定到 metal3 pod。如果 metal3 pod 失败并移动到其他服务器,静态 IP 地址也会移到新服务器。
    3
    无类别域间路由(CIDR)地址。如果配置这个设置,它必须具有有效的 CIDR 地址,即使 provisioning 网络是 Disabled。例如:192.168.0.1/24
    4
    DHCP 范围。此设置仅适用于 受管 置备网络。如果 provisioning 网络为 Disabled,则省略此配置设置。例如:192.168.0.64, 192.168.0.253
    5
    集群节点上 置备 接口的 NIC 名称。provisioningInterface 设置仅适用于 受管和非受管 置备 网络。如果 provisioning 网络为 Disabled,忽略 provisioningInterface 配置设置。省略 provisioningInterface 配置设置,以使用 bootMACAddress 配置设置。
    6
    如果您希望 metal3 监视默认 openshift-machine-api 命名空间以外的命名空间,请将此设置设置为 true。默认值为 false
  5. 保存对 provisioning CR 文件的更改。
  6. 将 provisioning CR 文件应用到集群:

    $ oc apply -f enable-provisioning-nw.yaml

14.6.2.1. 可选:创建包含一个自定义 br-ex 网桥的清单对象

除了使用 configure-ovs.sh shell 脚本在裸机平台上设置自定义 br-ex 网桥,一个替代的选择是创建一个包括自定义 br-ex 网桥网络配置的 NodeNetworkConfigurationPolicy 自定义资源(CR)。

重要

创建包含自定义 br-ex 网桥的 NodeNetworkConfigurationPolicy CR 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

此功能支持以下任务:

  • 修改集群的最大传输单元 (MTU)。
  • 修改不同绑定接口的属性,如 MIImon (媒体独立接口监控器)、绑定模式或服务质量 (QoS)。
  • 更新 DNS 值。

请考虑以下用例:创建包含自定义 br-ex 网桥的清单对象:

  • 您需要对网桥进行安装后更改,如更改 Open vSwitch (OVS) 或 OVN-Kubernetes br-ex 网桥网络。configure-ovs.sh shell 脚本不支持对网桥进行安装后更改。
  • 您希望将网桥部署到与主机或服务器 IP 地址上可用的接口不同的接口上。
  • 您希望通过 configure-ovs.sh shell 脚本对网桥进行高级配置。对这些配置使用脚本可能会导致网桥无法连接多个网络接口,并无法正确处理接口之间的数据转发。

先决条件

  • 您可以使用 configure-ovs 的替代方法来设置一个自定义的 br-ex
  • 已安装 Kubernetes NMState Operator。

流程

  1. 创建 NodeNetworkConfigurationPolicy (NNCP) CR,并定义自定义的 br-ex 网桥网络配置。根据您的需要,请确保为 ipv4.address.ipipv6.address.ip 或这两个参数设置了一个伪装 IP。伪装 IP 地址必须与正在使用的 IP 地址块匹配。

    设置 IPv6 和 IPv4 伪装 IP 地址的 NNCP CR 示例

    apiVersion: nmstate.io/v1
    kind: NodeNetworkConfigurationPolicy
    metadata:
      name: worker-0-br-ex 1
    spec:
      nodeSelector:
        kubernetes.io/hostname: worker-0
        desiredState:
        interfaces:
        - name: enp2s0 2
          type: ethernet 3
          state: up 4
          ipv4:
            enabled: false 5
          ipv6:
            enabled: false
        - name: br-ex
          type: ovs-bridge
          state: up
          ipv4:
            enabled: false
            dhcp: false
          ipv6:
            enabled: false
            dhcp: false
          bridge:
            port:
            - name: enp2s0 6
            - name: br-ex
        - name: br-ex
          type: ovs-interface
          state: up
          copy-mac-from: enp2s0
          ipv4:
            enabled: true
            dhcp: true
            address:
            - ip: "169.254.169.2"
              prefix-length: 29
          ipv6:
            enabled: false
            dhcp: false
            address:
            - ip: "fd69::2"
            prefix-length: 125

    1
    策略的名称。
    2
    接口的名称。
    3
    以太网的类型。
    4
    创建后接口的请求状态。
    5
    在这个示例中禁用 IPv4 和 IPv6。
    6
    网桥附加到的节点 NIC。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.