This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.10. 配置 PTP
精确时钟协议 (PTP) 硬件只是技术预览功能。技术预览功能不被红帽产品服务等级协议 (SLA) 支持,且可能在功能方面有缺陷。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参阅 https://access.redhat.com/support/offerings/techpreview/。
7.10.1. 关于 OpenShift Container Platform 中的 PTP 硬件 复制链接链接已复制到粘贴板!
OpenShift Container Platform 包含在节点上使用 PTP 硬件的能力。您可以使用 PTP 硬件在节点上配置 linuxptp 服务。
您可以通过部署 PTP Operator,使用 OpenShift Container Platform 控制台来安装 PTP。PTP Operator 会创建和管理 linuxptp 服务。Operator 提供以下功能:
- 在集群中发现具有 PTP 功能的设备。
- 管理 linuxptp 服务的配置。
7.10.2. 安装 PTP Operator 复制链接链接已复制到粘贴板!
作为集群管理员,您可以使用 OpenShift Container Platform CLI 或 Web 控制台来安装 PTP Operator。
7.10.2.1. 使用 CLI 安装 Operator 复制链接链接已复制到粘贴板!
作为集群管理员,您可以使用 CLI 安装 Operator。
先决条件
- 在裸机中安装有支持 PTP 硬件的节点的集群。
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
特权的用户身份登录。
流程
通过完成以下操作,为 PTP Operator 创建命名空间:
创建定义
openshift-ptp
命名空间的以下 Namespace 自定义资源 (CR) ,然后在ptp-namespace.yaml
文件中保存 YAML:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令创建命名空间:
oc create -f ptp-namespace.yaml
$ oc create -f ptp-namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
通过创建以下对象,在您上一步中创建的命名空间中安装 PTP Operator:
创建以下 OperatorGroup CR,并在
ptp-operatorgroup.yaml
文件中保存 YAML:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过运行以下命令来创建 OperatorGroup CR:
oc create -f ptp-operatorgroup.yaml
$ oc create -f ptp-operatorgroup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令获取下一步所需的
channel
值。oc get packagemanifest ptp-operator -n openshift-marketplace -o jsonpath='{.status.defaultChannel}'
$ oc get packagemanifest ptp-operator -n openshift-marketplace -o jsonpath='{.status.defaultChannel}' 4.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建以下订阅 CR,并将 YAML 保存到
ptp-sub.yaml
文件中:订阅示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令创建订阅对象:
oc create -f ptp-sub.yaml
$ oc create -f ptp-sub.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入
openshift-ptp
项目:oc project openshift-ptp
$ oc project openshift-ptp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Now using project "openshift-ptp"
Now using project "openshift-ptp"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.10.2.2. 使用 Web 控制台安装 Operator 复制链接链接已复制到粘贴板!
作为集群管理员,您可以使用 Web 控制台安装 Operator。
如上一节所述,您必须创建命名空间 CR 和 OperatorGroup CR。
流程
使用 OpenShift Container Platform Web 控制台安装 PTP Operator:
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
OperatorHub。 - 从可用的 Operator 列表中选择 PTP Operator,然后点 Install。
- 在 Create Operator Subscription 页面中,在 A specific namespace on the cluster 下选择 openshift-ptp。然后,点击 Subscribe。
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
可选:验证是否成功安装了 PTP Operator:
-
切换到 Operators
Installed Operators 页面。 确保 openshift-ptp 项目中列出的 PTP Operator 的 Status 为 InstallSucceeded。
注意在安装过程中,Operator 可能会显示 Failed 状态。如果安装过程结束后有 InstallSucceeded 信息,您可以忽略这个 Failed 信息。
如果 Operator 没有被成功安装,请按照以下步骤进行故障排除:
-
进入 Operators
Installed Operators 页面,检查 Operator Subscriptions 和 Install Plans 选项卡中的 Status 项中是否有任何错误。 -
进入 Workloads
Pods 页面,检查 openshift-ptp
项目中 Pod 的日志。
-
进入 Operators
-
切换到 Operators
7.10.3. 自动发现 PTP 网络设备 复制链接链接已复制到粘贴板!
PTP Operator 将 NodePtpDevice.ptp.openshift.io
自定义资源定义 (CRD) 添加至 OpenShift Container Platform。PTP Operator 将搜索集群中每个节点上的具有 PTP 功能的网络设备。Operator 会为每个提供兼容 PTP 设备的节点创建并更新 NodePtpDevice
自定义资源 (CR) 。
为每个节点创建一个 CR,并共享与该节点相同的名称。.status.devices
列表提供有关节点上 PTP 设备的信息。
以下是由 PTP Operator 创建的 NodePtpDevice CR 示例:
7.10.4. 配置 Linuxptp 服务 复制链接链接已复制到粘贴板!
PTP Operator 将 PtpConfig.ptp.openshift.io
自定义资源定义 (CRD) 添加至 OpenShift Container Platform。您可以通过创建 PtpConfig
自定义资源 (CR) 来配置 Linuxptp 服务(ptp4l 、phc2sys)。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
特权的用户身份登录。 - 已安装了 PTP Operator。
流程
创建以下
PtpConfig
CR,然后在<name>-ptp-config.yaml
文件中保存 YAML。使用配置的实际名称替换<name>
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 为
PtpConfig
CR 指定名称。 - 2
- 指定安装 PTP Operator 的命名空间。
- 3
- 指定包括一个或多个
profile
的数组。 - 4
- 指定用于唯一标识配置集(profile)对象的配置集对象名称。
- 5
- 指定
ptp4l
服务要使用的网络接口名称,如ens787f1
。 - 6
- 为
ptp4l
服务指定系统配置选项,如-s -2
。这不应该包含接口名称-i <interface>
和服务配置文件-f /etc/ptp4l.conf
,因为这些文件会被自动附加。 - 7
- 为
phc2sys
服务指定系统配置选项,如-a -r
。 - 8
- 指定包括一个或多个
recommend
对象的数组,该数组定义了如何将配置集
应用到节点的规则。 - 9
- 指定
profile
部分中定义的profile
对象名称。 - 10
- 使用
0
到99
之间的一个整数值指定priority
。大数值的优先级较低,因此优先级99
低于优先级10
。如果根据match
项中定义的规则,节点可以与多个配置集相匹配,具有最高优先级的配置集将被应用到那个节点。 - 11
- 使用
nodeLabel
或nodeName
指定match
规则。 - 12
- 使用节点对象中的
node.Labels
的key
指定nodeLabel
。 - 13
- 使用节点对象的
node.Name
指定nodeName
。
运行以下命令来创建 CR:
oc create -f <filename>
$ oc create -f <filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<filename>
替换为您在上一步中创建的文件的名称。
可选:检查
PtpConfig
配置集是否应用到与nodeLabel
或nodeName
匹配的节点。oc get pods -n openshift-ptp -o wide
$ oc get pods -n openshift-ptp -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow