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.11.6. 将 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,然后在ordinary-clock-ptp-config.yaml
文件中保存 YAML。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
PtpConfig
CR 的名称。- 2
- 指定包括一个或多个
profile
的数组。 - 3
- 指定唯一标识配置集对象的配置集对象名称。
- 4
- 指定
ptp4l
服务要使用的网络接口名称,如ens787f1
。 - 5
- 为
ptp4l
服务指定系统配置选项,例如-2
来选择 IEEE 802.3 网络传输。该选项不应包含网络接口名称-i <interface>
和服务配置文件-f /etc/ptp4l.conf
,因为网络接口名称和服务配置文件会被自动附加。 - 6
- 为
phc2sys
服务指定系统配置选项,如-a -r
。如果此字段为空,PTP Operator 不会启动phc2sys
服务。 - 7
- 指定一个字符串,其中包含要替换默认的
/etc/ptp4l.conf
文件的配置。要使用默认配置,请将字段留空。 - 8
ptp4l
和phc2sys
进程的调度策略。默认值为SCHED_OTHER
。在支持 FIFO 调度的系统上使用SCHED_FIFO
。- 9
- 当
ptpSchedulingPolicy
设置为SCHED_FIFO
时,用于为ptp4l
和phc2sys
进程设置 FIFO 优先级的整数值(1 到 65)。当ptpSchedulingPolicy
设置为SCHED_OTHER
时,不使用ptpSchedulingPriority
字段。 - 10
- 指定包括一个或多个
recommend
对象的数组,该数组定义了如何将配置集
应用到节点的规则。 - 11
- 指定
profile
部分中定义的profile
对象名称。 - 12
- 使用
0
到99
之间的一个整数值指定priority
。大数值的优先级较低,因此优先级99
低于优先级10
。如果节点可以根据match
字段中定义的规则与多个配置集匹配,则优先级较高的配置集会应用到该节点。 - 13
- 使用
nodeLabel
或nodeName
指定match
规则。 - 14
- 指定
nodeLabel
,它带有来自节点对象的node.Labels
的key
(可以通过运行oc get nodes --show-labels
命令找出这些信息)。 - 15
- 指定
nodeName
,它带有来自节点对象的node.Name
(可以通过运行oc get nodes
命令找到这些信息)。
运行以下命令来创建 CR:
oc create -f ordinary-clock-ptp-config.yaml
$ oc create -f ordinary-clock-ptp-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证步骤
检查
PtpConfig
配置集是否已应用到节点。运行以下命令,获取
openshift-ptp
命名空间中的 pod 列表: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 输出示例
NAME READY STATUS RESTARTS AGE IP NODE linuxptp-daemon-4xkbb 1/1 Running 0 43m 10.1.196.24 compute-0.example.com linuxptp-daemon-tdspf 1/1 Running 0 43m 10.1.196.25 compute-1.example.com ptp-operator-657bbb64c8-2f8sj 1/1 Running 0 43m 10.129.0.61 control-plane-1.example.com
NAME READY STATUS RESTARTS AGE IP NODE linuxptp-daemon-4xkbb 1/1 Running 0 43m 10.1.196.24 compute-0.example.com linuxptp-daemon-tdspf 1/1 Running 0 43m 10.1.196.25 compute-1.example.com ptp-operator-657bbb64c8-2f8sj 1/1 Running 0 43m 10.129.0.61 control-plane-1.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查配置集是否正确。检查与
PtpConfig
配置集中指定的节点对应的linuxptp
守护进程的日志。运行以下命令:oc logs linuxptp-daemon-4xkbb -n openshift-ptp -c linuxptp-daemon-container
$ oc logs linuxptp-daemon-4xkbb -n openshift-ptp -c linuxptp-daemon-container
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow