9.2. 연결 상태 점검 구현
연결 검증 컨트롤러는 클러스터의 연결 확인 검사를 오케스트레이션합니다. 연결 테스트의 결과는 openshift-network-diagnostics
의 PodNetworkConnectivity
오브젝트에 저장됩니다. 연결 테스트는 병렬로 1분마다 수행됩니다.
CNO(Cluster Network Operator)는 클러스터에 여러 리소스를 배포하여 연결 상태 점검을 전달하고 수신합니다.
- 상태 점검 소스
-
이 프로그램은
Deployment
오브젝트에서 관리하는 단일 포드 복제본 세트에 배포됩니다. 프로그램은PodNetworkConnectivity
오브젝트를 사용하고 각 오브젝트에 지정된spec.targetEndpoint
에 연결됩니다. - 상태 점검 대상
- 클러스터의 모든 노드에서 데몬 세트의 일부로 배포된 포드입니다. 포드는 인바운드 상태 점검을 수신 대기합니다. 모든 노드에 이 포드가 있으면 각 노드로의 연결을 테스트할 수 있습니다.
노드 선택기를 사용하여 네트워크 연결 소스 및 대상이 실행되는 노드를 구성할 수 있습니다. 또한 소스 및 대상 Pod에 대해 허용 가능한 허용 오차 를 지정할 수 있습니다. 구성은 config.openshift.io/v1
API 그룹에 있는 네트워크
API의 싱글톤 클러스터
사용자 정의 리소스에 정의됩니다.
구성을 업데이트한 후 Pod 예약이 수행됩니다. 따라서 구성을 업데이트하기 전에 선택기에서 사용하려는 노드 레이블을 적용해야 합니다. 네트워크 연결을 업데이트한 후 적용되는 레이블은 Pod 배치가 무시됩니다.
다음 YAML의 기본 구성을 참조하십시오.
연결 소스 및 대상 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 1
- 네트워크 진단 구성을 지정합니다. 값을 지정하지 않거나 빈 오브젝트가 지정되고
spec.disableNetworkDiagnostics=true
가network.operator.openshift.io
사용자 정의 리소스에 설정된 경우 네트워크 진단이 비활성화됩니다.설정된 경우 이 값은
spec.disableNetworkDiagnostics=true
를 덮어씁니다. - 2
- 진단 모드를 지정합니다. 값은 빈 문자열,
All
또는Disabled
일 수 있습니다. 빈 문자열은All
을 지정하는 것과 동일합니다. - 3
- 선택 사항: 연결 확인 소스 Pod에 대한 선택기를 지정합니다.
nodeSelector
및tolerations
필드를 사용하여sourceNode
Pod를 추가로 지정할 수 있습니다. 그러나 소스 및 대상 Pod 모두에nodeSelector
및tolerations
를 모두 사용할 필요는 없습니다. 이러한 필드는 생략할 수 있는 선택적 필드입니다. - 4
- 선택 사항: 연결 확인 대상 Pod에 대한 선택기를 지정합니다.
nodeSelector
및tolerations
필드를 사용하여targetNode
Pod를 추가로 지정할 수 있습니다. 그러나 소스 및 대상 Pod 모두에nodeSelector
및tolerations
를 모두 사용할 필요는 없습니다. 이러한 필드는 생략할 수 있는 선택적 필드입니다.