1.3. 모니터링 스택 이해 - 주요 개념
OpenShift Dedicated 모니터링 개념 및 용어를 숙지하십시오. 클러스터의 성능 및 스케일링을 개선하고, 데이터를 저장 및 기록하고, 메트릭 및 경고를 관리하는 방법에 대해 알아보십시오.
1.3.1. 성능 및 확장성 정보 링크 복사링크가 클립보드에 복사되었습니다!
클러스터의 성능과 스케일링을 최적화할 수 있습니다. 다음 작업을 수행하여 모니터링 스택을 구성할 수 있습니다.
모니터링 구성 요소의 배치 및 배포를 제어합니다.
- 노드 선택기를 사용하여 구성 요소를 특정 노드로 이동합니다.
- 테인트된 노드로 이동하는 구성 요소를 활성화하려면 허용 오차를 할당합니다.
- Pod 토폴로지 분배 제약 조건을 사용합니다.
- CPU 및 메모리 리소스를 관리합니다.
1.3.1.1. 노드 선택기를 사용하여 모니터링 구성 요소 이동 링크 복사링크가 클립보드에 복사되었습니다!
라벨이 지정된 노드와 함께 nodeSelector 제약 조건을 사용하면 모니터링 스택 구성 요소 중 하나를 특정 노드로 이동할 수 있습니다. 이렇게 하면 클러스터 전체에서 모니터링 구성 요소의 배치 및 배포를 제어할 수 있습니다.
모니터링 구성 요소의 배치 및 배포를 제어하면 시스템 리소스 사용을 최적화하고 성능을 개선하고 특정 요구 사항 또는 정책을 기반으로 워크로드를 분리할 수 있습니다.
노드 선택기가 다른 제약 조건에서 작동하는 방법
노드 선택기 제약 조건을 사용하여 모니터링 구성 요소를 이동하는 경우 클러스터에 대한 Pod 예약을 제어하는 다른 제약 조건이 존재할 수 있습니다.
- Pod 배치를 제어하기 위해 토폴로지 분배 제약 조건이 적용될 수 있습니다.
- 이러한 구성 요소의 여러 Pod가 항상 다른 노드에 분산되도록 Prometheus, Alertmanager 및 기타 모니터링 구성 요소에 대해 하드 유사성 방지 규칙이 적용되므로 항상 고가용성을 유지합니다.
노드에 Pod를 예약할 때 Pod 스케줄러는 Pod 배치를 결정할 때 기존 제약 조건을 모두 충족합니다. 즉, Pod 스케줄러가 어떤 노드에 배치될 Pod를 결정할 때 모든 제약 조건이 혼합됩니다.
따라서 노드 선택기 제약 조건을 구성하지만 기존 제약 조건을 모두 충족할 수 없는 경우 Pod 스케줄러는 모든 제약 조건과 일치시킬 수 없으며 노드에 배치할 Pod를 예약하지 않습니다.
모니터링 구성 요소에 대한 탄력성과 고가용성을 유지하려면 충분한 노드를 사용할 수 있는지 확인하고 구성 요소를 이동하기 위해 노드 선택기 제약 조건을 구성할 때 모든 제약 조건과 일치하는지 확인합니다.
1.3.1.2. 모니터링을 위한 Pod 토폴로지 분배 제약 조건 정보 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Dedicated Pod가 여러 가용성 영역에 배포될 때 Pod 토폴로지 분배 제약 조건을 사용하여 네트워크 토폴로지에 모니터링 Pod가 분배되는 방법을 제어할 수 있습니다.
Pod 토폴로지 분배 제약 조건은 노드가 해당 영역 내의 지역 및 영역과 같은 다양한 인프라 수준에 분산되는 계층적 토폴로지 내에서 Pod 예약을 제어하는 데 적합합니다. 또한 다른 영역에서 Pod를 예약할 수 있으므로 특정 시나리오에서 네트워크 대기 시간을 개선할 수 있습니다.
Cluster Monitoring Operator에서 배포한 모든 Pod에 대해 Pod 토폴로지 분배 제약 조건을 구성하여 영역 전체에서 노드에 Pod 복제본을 예약하는 방법을 제어할 수 있습니다. 이렇게 하면 워크로드가 다른 데이터 센터 또는 계층적 인프라 영역의 노드에 분산되므로 Pod를 고가용성 및 더 효율적으로 실행할 수 있습니다.
1.3.1.3. 모니터링 구성 요소에 대한 제한 및 요청 지정 정보 링크 복사링크가 클립보드에 복사되었습니다!
사용자 정의 프로젝트를 모니터링하는 다음 구성 요소에 대한 리소스 제한 및 요청을 구성할 수 있습니다.
- Alertmanager
- Prometheus
- Thanos Ruler
리소스 제한을 정의하면 컨테이너의 리소스 사용량을 제한하여 컨테이너가 CPU 및 메모리 리소스에 대해 지정된 최대값을 초과하지 않도록 합니다.
리소스 요청을 정의하면 요청된 리소스와 일치하도록 사용 가능한 CPU 및 메모리 리소스가 충분한 노드에만 컨테이너를 예약할 수 있도록 지정합니다.