搜索

10.8. 使用 PolicyGenTemplate CR 配置 PTP 事件

download PDF

您可以使用 GitOps ZTP 管道来配置使用 HTTP 或 AMQP 传输的 PTP 事件。

注意

HTTP 传输是 PTP 和裸机事件的默认传输。在可能的情况下,使用 HTTP 传输而不是 AMQP 用于 PTP 和裸机事件。AMQ Interconnect 于 2024 年 6 月 30 日结束生命周期(EOL)。AMQ Interconnect 的延长生命周期支持 (ELS) 于 2029 年 11 月 29 日结束。如需更多信息,请参阅 Red Hat AMQ Interconnect 支持状态

10.8.1. 配置使用 HTTP 传输的 PTP 事件

您可以配置使用 GitOps Zero Touch Provisioning (ZTP)管道部署的受管集群中使用 HTTP 传输的 PTP 事件。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您已以具有 cluster-admin 权限的用户身份登录。
  • 您已创建了管理自定义站点配置数据的 Git 存储库。

流程

  1. 根据您的具体要求,将以下 PolicyGenTemplate 应用到 group-du-3node-ranGen.yamlgroup-du-sno-ranGen.yamlgroup-du-standard-ranGen.yaml 文件:

    1. .sourceFiles 中,添加 PtpOperatorConfig CR 文件来配置传输主机:

      - fileName: PtpOperatorConfigForEvent.yaml
        policyName: "config-policy"
        spec:
          daemonNodeSelector: {}
          ptpEventConfig:
            enableEventPublisher: true
            transportHost: http://ptp-event-publisher-service-NODE_NAME.openshift-ptp.svc.cluster.local:9043
      注意

      在 OpenShift Container Platform 4.13 或更高版本中,在使用带有 PTP 事件的 HTTP 传输时,您不需要在 PtpOperatorConfig 资源中设置 transportHost 字段。

    2. 为 PTP 时钟类型和接口配置 linuxptpphc2sys。例如,将以下小节添加到 .sourceFiles 中:

      - fileName: PtpConfigSlave.yaml 1
        policyName: "config-policy"
        metadata:
          name: "du-ptp-slave"
        spec:
          profile:
          - name: "slave"
            interface: "ens5f1" 2
            ptp4lOpts: "-2 -s --summary_interval -4" 3
            phc2sysOpts: "-a -r -m -n 24 -N 8 -R 16" 4
          ptpClockThreshold: 5
            holdOverTimeout: 30 #secs
            maxOffsetThreshold: 100  #nano secs
            minOffsetThreshold: -100 #nano secs
      1
      可以是 PtpConfigMaster.yamlPtpConfigSlave.yamlPtpConfigSlaveCvl.yaml 之一,具体取决于您的要求。PtpConfigSlaveCvl.yaml 为 Intel E810 Columbiaville NIC 配置 linuxptp 服务。对于基于 group-du-sno-ranGen.yamlgroup-du-3node-ranGen.yaml 的配置,请使用 PtpConfigSlave.yaml
      2
      特定于设备的接口名称。
      3
      您必须将 --summary_interval -4 值附加到 .spec.sourceFiles.spec.profile 中的 ptp4lOpts 中,以启用 PTP fast 事件。
      4
      所需的 phc2sysOpts 值。-m 将消息输出到 stdoutlinuxptp-daemon DaemonSet 解析日志并生成 Prometheus 指标。
      5
      可选。如果 ptpClockThreshold 小节不存在,则默认值用于 ptpClockThreshold 字段。小节显示默认的 ptpClockThreshold 值。ptpClockThreshold 值配置 PTP master 时钟在触发 PTP 事件前的时长。holdOverTimeout 是在 PTP master clock 断开连接时,PTP 时钟事件状态更改为 FREERUN 前的时间值(以秒为单位)。maxOffsetThresholdminOffsetThreshold 设置以纳秒为单位,它们与 CLOCK_REALTIME (phc2sys) 或 master 偏移 (ptp4l) 的值进行比较。当 ptp4lphc2sys 偏移值超出这个范围时,PTP 时钟状态被设置为 FREERUN。当偏移值在这个范围内时,PTP 时钟状态被设置为 LOCKED
  2. 将任何其他必要的更改和文件与自定义站点存储库合并。
  3. 将更改推送到站点配置存储库,以使用 GitOps ZTP 将 PTP 快速事件部署到新站点。

10.8.2. 配置使用 AMQP 传输的 PTP 事件

您可以在使用 GitOps Zero Touch Provisioning (ZTP) 管道部署的受管集群中配置使用 AMQP 传输的 PTP 事件。

注意

HTTP 传输是 PTP 和裸机事件的默认传输。在可能的情况下,使用 HTTP 传输而不是 AMQP 用于 PTP 和裸机事件。AMQ Interconnect 于 2024 年 6 月 30 日结束生命周期(EOL)。AMQ Interconnect 的延长生命周期支持 (ELS) 于 2029 年 11 月 29 日结束。如需更多信息,请参阅 Red Hat AMQ Interconnect 支持状态

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您已以具有 cluster-admin 权限的用户身份登录。
  • 您已创建了管理自定义站点配置数据的 Git 存储库。

流程

  1. 将以下 YAML 添加到 common-ranGen.yaml 文件中的 .spec.sourceFiles 中,以配置 AMQP Operator:

    #AMQ interconnect operator for fast events
    - fileName: AmqSubscriptionNS.yaml
      policyName: "subscriptions-policy"
    - fileName: AmqSubscriptionOperGroup.yaml
      policyName: "subscriptions-policy"
    - fileName: AmqSubscription.yaml
      policyName: "subscriptions-policy"
  2. 根据您的具体要求,将以下 PolicyGenTemplate 应用到 group-du-3node-ranGen.yamlgroup-du-sno-ranGen.yamlgroup-du-standard-ranGen.yaml 文件:

    1. .sourceFiles 中,添加 PtpOperatorConfig CR 文件,该文件将 AMQ 传输主机配置为 config-policy

      - fileName: PtpOperatorConfigForEvent.yaml
        policyName: "config-policy"
        spec:
          daemonNodeSelector: {}
          ptpEventConfig:
            enableEventPublisher: true
            transportHost: "amqp://amq-router.amq-router.svc.cluster.local"
    2. 为 PTP 时钟类型和接口配置 linuxptpphc2sys。例如,将以下小节添加到 .sourceFiles 中:

      - fileName: PtpConfigSlave.yaml 1
        policyName: "config-policy"
        metadata:
          name: "du-ptp-slave"
        spec:
          profile:
          - name: "slave"
            interface: "ens5f1" 2
            ptp4lOpts: "-2 -s --summary_interval -4" 3
            phc2sysOpts: "-a -r -m -n 24 -N 8 -R 16" 4
          ptpClockThreshold: 5
            holdOverTimeout: 30 #secs
            maxOffsetThreshold: 100  #nano secs
            minOffsetThreshold: -100 #nano secs
      1
      可以是 PtpConfigMaster.yamlPtpConfigSlave.yamlPtpConfigSlaveCvl.yaml,具体取决于您的要求。PtpConfigSlaveCvl.yaml 为 Intel E810 Columbiaville NIC 配置 linuxptp 服务。对于基于 group-du-sno-ranGen.yamlgroup-du-3node-ranGen.yaml 的配置,请使用 PtpConfigSlave.yaml
      2
      特定于设备的接口名称。
      3
      您必须将 --summary_interval -4 值附加到 .spec.sourceFiles.spec.profile 中的 ptp4lOpts 中,以启用 PTP fast 事件。
      4
      所需的 phc2sysOpts 值。-m 将消息输出到 stdoutlinuxptp-daemon DaemonSet 解析日志并生成 Prometheus 指标。
      5
      可选。如果 ptpClockThreshold 小节不存在,则默认值用于 ptpClockThreshold 字段。小节显示默认的 ptpClockThreshold 值。ptpClockThreshold 值配置 PTP master 时钟在触发 PTP 事件前的时长。holdOverTimeout 是在 PTP master clock 断开连接时,PTP 时钟事件状态更改为 FREERUN 前的时间值(以秒为单位)。maxOffsetThresholdminOffsetThreshold 设置以纳秒为单位,它们与 CLOCK_REALTIME (phc2sys) 或 master 偏移 (ptp4l) 的值进行比较。当 ptp4lphc2sys 偏移值超出这个范围时,PTP 时钟状态被设置为 FREERUN。当偏移值在这个范围内时,PTP 时钟状态被设置为 LOCKED
  3. 将以下 PolicyGenTemplate 更改应用到您的特定站点 YAML 文件,如 example-sno-site.yaml

    1. .sourceFiles 中,添加 Interconnect CR 文件,该文件将 AMQ 路由器配置为 config-policy

      - fileName: AmqInstance.yaml
        policyName: "config-policy"
  4. 将任何其他必要的更改和文件与自定义站点存储库合并。
  5. 将更改推送到站点配置存储库,以使用 GitOps ZTP 将 PTP 快速事件部署到新站点。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.