13.2. 确保 PTP 和 SR-IOV 守护进程选择器兼容性
如果 DU 配置集使用 GitOps Zero Touch Provisioning (ZTP) 插件版本 4.11 或更早版本部署,则 PTP 和 SR-IOV Operator 可能会被配置为仅将守护进程放在标记为 master 的节点上。此配置可防止 PTP 和 SR-IOV 守护进程在 worker 节点上运行。如果系统上正确配置了 PTP 和 SR-IOV 守护进程节点选择器,您必须更改守护进程,然后才能继续 worker DU 配置集配置。
流程
在其中一个 spoke 集群中检查 PTP Operator 的守护进程节点选择器设置:
oc get ptpoperatorconfig/default -n openshift-ptp -ojsonpath='{.spec}' | jq$ oc get ptpoperatorconfig/default -n openshift-ptp -ojsonpath='{.spec}' | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow PTP Operator 的输出示例
{"daemonNodeSelector":{"node-role.kubernetes.io/master":""}}{"daemonNodeSelector":{"node-role.kubernetes.io/master":""}}1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 如果节点选择器设置为
master,则 spoke 会使用需要更改的 GitOps ZTP 插件的版本进行部署。
在其中一个 spoke 集群中检查 SR-IOV Operator 的守护进程节点选择器设置:
oc get sriovoperatorconfig/default -n \ openshift-sriov-network-operator -ojsonpath='{.spec}' | jq$ oc get sriovoperatorconfig/default -n \ openshift-sriov-network-operator -ojsonpath='{.spec}' | jqCopy to Clipboard Copied! Toggle word wrap Toggle overflow SR-IOV Operator 的输出示例
{"configDaemonNodeSelector":{"node-role.kubernetes.io/worker":""},"disableDrain":false,"enableInjector":true,"enableOperatorWebhook":true}{"configDaemonNodeSelector":{"node-role.kubernetes.io/worker":""},"disableDrain":false,"enableInjector":true,"enableOperatorWebhook":true}1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 如果节点选择器设置为
master,则 spoke 会使用需要更改的 GitOps ZTP 插件的版本进行部署。
在组策略中,添加以下
complianceType和spec条目:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要更改
daemonNodeSelector字段会导致临时 PTP 同步丢失和 SR-IOV 连接丢失。- 提交 Git 中的更改,然后推送到由 GitOps ZTP ArgoCD 应用程序监控的 Git 存储库。