连接检查控制器协调集群中的连接验证检查。连接测试的结果存储在openshift-network-diagnostics
命名空间中的PodNetworkConnectivity
对象中。连接测试每分钟并行执行。
集群网络操作符 (CNO) 将多个资源部署到集群以发送和接收连接健康检查
- 健康检查源
-
此程序部署在一个由Deployment
对象管理的单个 Pod 副本集中。该程序使用PodNetworkConnectivity
对象并连接到每个对象中指定的spec.targetEndpoint
。
- 健康检查目标
-
一个在集群中每个节点上作为守护程序集一部分部署的 Pod。该 Pod 侦听传入的健康检查。此 Pod 在每个节点上的存在允许测试与每个节点的连接。
您可以使用节点选择器配置运行网络连接源和目标的节点。此外,您可以为源 Pod 和目标 Pod 指定允许的容差。配置在config.openshift.io/v1
API 组中Network
API 的单例cluster
自定义资源中定义。
更新配置后会发生 Pod 调度。因此,您必须在更新网络连接检查 Pod 位置之前应用您打算在选择器中使用的节点标签。更新网络连接检查 Pod 位置后应用的标签将被忽略。
连接源和目标 Pod 的默认配置
apiVersion: config.openshift.io/v1
kind: Network
metadata:
name: cluster
spec:
# ...
networkDiagnostics: (1)
mode: "All" (2)
sourcePlacement: (3)
nodeSelector:
checkNodes: groupA
tolerations:
- key: myTaint
effect: NoSchedule
operator: Exists
targetPlacement: (4)
nodeSelector:
checkNodes: groupB
tolerations:
- key: myOtherTaint
effect: NoExecute
operator: Exists
1 |
指定网络诊断配置。如果未指定值或指定了空对象,并且在名为cluster 的network.operator.openshift.io 自定义资源中设置了spec.disableNetworkDiagnostics=true ,则网络诊断将被禁用。如果设置,此值将覆盖spec.disableNetworkDiagnostics=true 。 |
2 |
指定诊断模式。该值可以是空字符串、All 或Disabled 。空字符串等效于指定All 。 |
3 |
可选:为连接检查源 Pod 指定选择器。您可以使用nodeSelector 和tolerations 字段来进一步指定sourceNode Pod。但是,您不必同时使用nodeSelector 和tolerations ,无论是对于源 Pod 还是目标 Pod。这些是可以省略的可选字段。 |
4 |
可选:为连接检查目标 Pod 指定选择器。您可以使用nodeSelector 和tolerations 字段来进一步指定targetNode Pod。但是,您不必同时使用nodeSelector 和tolerations ,无论是对于源 Pod 还是目标 Pod。这些是可以省略的可选字段。 |