2.2. 권장되는 인프라 관행
이 주제에서는 OpenShift Container Platform의 인프라에 대한 권장 성능 및 확장성 사례를 제공합니다.
2.2.1. 인프라 노드 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
인프라 노드는 OpenShift Container Platform 환경의 일부를 실행하도록 레이블이 지정된 노드입니다. 인프라 노드 리소스 요구사항은 클러스터 사용 기간, 노드, 클러스터의 오브젝트에 따라 달라집니다. 이러한 요인으로 인해 Prometheus의 지표 또는 시계열 수가 증가할 수 있기 때문입니다. 다음 인프라 노드 크기 권장 사항은 제어 평면 노드 크기 섹션에 자세히 설명된 클러스터 밀도 테스트에서 관찰된 결과를 기반으로 합니다. 여기서 모니터링 스택과 기본 인그레스 컨트롤러가 이러한 노드로 이동되었습니다.
작업자 노드 수 | 클러스터 밀도 또는 네임스페이스 수 | CPU 코어 수 | 메모리(GB) |
---|---|---|---|
27 | 500 | 4 | 24 |
120 | 1000 | 8 | 48 |
252 | 4000 | 16 | 128 |
501 | 4000 | 32 | 128 |
일반적으로 클러스터당 세 개의 인프라 노드를 사용하는 것이 좋습니다.
이러한 크기 조정 권장 사항은 지침으로 사용해야 합니다. Prometheus는 고도의 메모리 집약적 애플리케이션입니다. 리소스 사용량은 노드 수, 오브젝트, Prometheus 지표 스크래핑 간격, 지표 또는 시계열, 클러스터 사용 기간 등 다양한 요인에 따라 달라집니다. 또한 라우터 리소스 사용량은 경로 수와 인바운드 요청의 양/유형에 따라 영향을 받을 수도 있습니다.
이러한 권장 사항은 클러스터 생성 중에 설치된 모니터링, 수신 및 레지스트리 인프라 구성 요소를 호스팅하는 인프라 노드에만 적용됩니다.
OpenShift Container Platform 4.19에서는 OpenShift Container Platform 3.11 및 이전 버전과 비교했을 때 CPU 코어의 절반(500밀리코어)이 이제 시스템에 의해 기본적으로 예약됩니다. 명시된 크기 조정 권장 사항은 이러한 요인의 영향을 받습니다.
2.2.2. Cluster Monitoring Operator 스케일링 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform은CMO(Cluster Monitoring Operator)가 수집하여 Prometheus 기반 모니터링 스택에 저장하는 지표를 노출합니다. 관리자는 OpenShift Container Platform 웹 콘솔에서 Observe
2.2.3. Prometheus 데이터베이스 스토리지 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 다양한 규모에 대해 다양한 테스트를 수행했습니다.
- 다음 Prometheus 저장 요구 사항은 규정적인 것이 아니며 참조용으로 사용해야 합니다. Prometheus에서 수집한 메트릭을 노출하는 포드, 컨테이너, 경로 또는 기타 리소스의 수를 포함하여 작업 부하 활동 및 리소스 밀도에 따라 클러스터에서 더 높은 리소스 소비가 관찰될 수 있습니다.
- 저장 요구 사항에 맞게 크기 기반 데이터 보존 정책을 구성할 수 있습니다.
노드 수 | 포드 수(포드당 컨테이너 2개) | Prometheus 스토리지 증가(1일당) | Prometheus 스토리지 증가(15일당) | 네트워크(tsdb 청크당) |
---|---|---|---|---|
50 | 1800 | 6.3GB | 94GB | 16MB |
100 | 3600 | 13GB | 195GB | 26MB |
150 | 5400 | 19GB | 283GB | 36MB |
200 | 7200 | 25GB | 375GB | 46MB |
스토리지 요구사항이 계산된 값을 초과하지 않도록 예상 크기의 약 20%가 오버헤드로 추가되었습니다.
위의 계산은 기본 OpenShift Container Platform Cluster Monitoring Operator용입니다.
CPU 사용률은 약간의 영향을 미칩니다. 50개 노드 및 1,800개 Pod당 비율이 약 40개 중 1개 코어입니다.
OpenShift Container Platform 권장 사항
- 최소한 두 개의 인프라(infra) 노드를 사용하세요.
- SSD 또는 NVMe(Non-volatile Memory express) 드라이브를 사용하여 openshift-container-storage 노드를 3개 이상 사용합니다.
2.2.4. 클러스터 모니터링 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 모니터링 스택에서 Prometheus 구성 요소의 저장 용량을 늘릴 수 있습니다.
프로세스
Prometheus의 스토리지 용량을 늘리려면 다음을 수행합니다.
cluster-monitoring-config.yaml
이라는 YAML 구성 파일을 만듭니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Prometheus 보존의 기본값은
PROMETHEUS_RETENTION_PERIOD=15d
입니다. 단위는 s, m, h, d 접미사 중 하나를 사용하는 시간으로 측정됩니다. - 2 4
- 클러스터의 스토리지 클래스입니다.
- 3
- 일반적인 값은
PROMETHEUS_STORAGE_SIZE=2000Gi
입니다. 저장 값은 일반 정수이거나 다음 접미사 중 하나를 사용하는 고정 소수점 정수일 수 있습니다: E, P, T, G, M, K. 또한 2의 거듭제곱인 Ei, Pi, Ti, Gi, Mi, Ki를 사용할 수도 있습니다. - 5
- 일반적인 값은
ALERTMANAGER_STORAGE_SIZE=20Gi
입니다. 저장 값은 일반 정수이거나 다음 접미사 중 하나를 사용하는 고정 소수점 정수일 수 있습니다: E, P, T, G, M, K. 또한 2의 거듭제곱인 Ei, Pi, Ti, Gi, Mi, Ki를 사용할 수도 있습니다.
- 보존 기간, 스토리지 클래스, 스토리지 크기에 대한 값을 추가합니다.
- 파일을 저장합니다.
다음을 실행하여 변경사항을 적용합니다.
oc create -f cluster-monitoring-config.yaml
$ oc create -f cluster-monitoring-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow