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