38.3.2. 클러스터 메트릭에 대한 용량 계획
openshift_metrics
Ansible 역할을 실행한 후 oc get pods
의 출력은 다음과 유사합니다.
# oc get pods -n openshift-infra NAME READY STATUS RESTARTS AGE hawkular-cassandra-1-l5y4g 1/1 Running 0 17h hawkular-metrics-1t9so 1/1 Running 0 17h heapster-febru 1/1 Running 0 17h
OpenShift Container Platform 지표는 openshift_metrics_cassandra_limits_memory 설정으로 배포되는 Cassandra 데이터베이스를 사용하여 저장됩니다. 2G
; Cassandra 시작 스크립트에 의해 결정된 대로 사용 가능한 메모리를 기반으로 이 값을 추가로 조정할 수 있습니다. 이 값은 대부분의 OpenShift Container Platform 지표 설치를 다루지만 환경 변수를 사용하면 클러스터 지표를 배포하기 전에 Cassandra Dockerfile에서 힙 새 생성 크기인 HEAP_NEWSIZE
와 함께 MAX
_HEAP_SIZE를 수정할 수 있습니다.
기본적으로 지표 데이터는 7일 동안 저장됩니다. 7일 후 Cassandra는 가장 오래된 지표 데이터를 제거하기 시작합니다. 삭제된 포드 및 프로젝트의 지표 데이터는 자동으로 삭제되지 않습니다. 데이터는 7일이 지난 후에만 제거됩니다.
예 38.1. 10개의 노드 및 1000개의 Pod에 의해 변경되는 데이터
10개의 노드 및 1000개의 포드를 포함하는 테스트 시나리오에서는 24시간 동안 2.5GB의 지표 데이터를 누적했습니다. 따라서 이 시나리오의 지표 데이터에 대한 용량 계획 공식은 다음과 같습니다.
(2.5~10 9) ✓1000- 24) ✓ 106 = 포드당 ~0.125MB/시간.
예 38.2. 120개의 노드 및 10,000개의 Pod에 의해 변경되는 데이터
120개의 노드 및 10000개의 포드를 포함하는 테스트 시나리오에서는 24시간 동안 25GB의 지표 데이터를 누적했습니다. 따라서 이 시나리오의 지표 데이터에 대한 용량 계획 공식은 다음과 같습니다.
((11.410~10 9) - 1000-1000- 24) - 106 = 0.475 MB/시간
1000개의 Pod | Pod 10,000개 | |
---|---|---|
24시간 이상 누적된 Cassandra 스토리지 데이터(기본 메트릭 매개변수) | 2.5GB | 11.4GB |
openshift_metrics_ duration의 기본값은 7일이고 openshift_metrics
_ resolution의 경우 30초가 유지되면
Cassandra 포드의 매주 스토리지 요구 사항은 다음과 같습니다.
1000개의 Pod | Pod 10,000개 | |
---|---|---|
7일 동안 누적된 Cassandra 스토리지 데이터(기본 지표 매개 변수) | 20GB | 90GB |
이전 표에서는 예기치 않은 모니터링된 Pod 사용량을 버퍼로 예상 스토리지 공간에 추가 10%가 추가되었습니다.
Cassandra가 지속된 볼륨이 충분한 공간이 부족하면 데이터 손실이 발생합니다.
클러스터 지표가 영구 스토리지에서 작동하려면 영구 볼륨에 ReadWriteOnce 액세스 모드가 있는지 확인합니다. 이 모드가 활성 상태가 아닌 경우 영구 볼륨 클레임은 영구 볼륨을 찾을 수 없으며 Cassandra가 시작되지 않습니다.
지표 구성 요소와 함께 영구 스토리지를 사용하려면 충분한 크기의 영구 볼륨을 사용할 수 있는지 확인합니다. 영구 볼륨 클레임 생성은 OpenShift Ansible openshift_metrics
역할에서 처리합니다.
OpenShift Container Platform 지표는 동적으로 프로비저닝된 영구 볼륨도 지원합니다. 이 기능을 OpenShift Container Platform 지표와 함께 사용하려면 openshift_metrics_cassandra_storage_type
값을 동적으로 설정해야 합니다
. EBS, GCE, Cinder 스토리지 백엔드를 사용하여 영구 볼륨을 동적으로 프로비저닝할 수 있습니다.
성능 구성 및 클러스터 지표 포드 확장에 대한 자세한 내용은 클러스터 지표 확장 주제를 참조하십시오.
노드 수 | Pod 수 | Cassandra 스토리지 성장 속도 | 매일 Cassandra 스토리지 증가 | 주당 Cassandra 스토리지 증가 |
---|---|---|---|---|
210 | 10500 | 시간당 500MB | 15GB | 75GB |
990 | 11000 | 시간당 1GB | 30GB | 210GB |
위 계산에서는 스토리지 요구 사항이 계산된 값을 초과하지 않도록 예상 크기의 약 20%가 오버헤드로 추가되었습니다.
METRICS_DURATION
및 METRICS_RESOLUTION
값이 기본값(각각7
일 및 15
초)에 유지되는 경우 위의 값과 같이 매주 Cassandra 스토리지 크기 재심사를 계획하는 것이 안전합니다.
OpenShift Container Platform 지표는 Cassandra 데이터베이스를 지표 데이터의 데이터 저장소로 사용하므로, 지표 설정 프로세스 중에 USE_PERSISTANT_STORAGE=true
가 설정된 경우 PV
가 네트워크 스토리지에 있고 NFS가 기본값으로 지정됩니다. 그러나 Cassandra 설명서에 따라 네트워크 스토리지를 Cassandra와 함께 사용하는 것은 권장되지 않습니다.
알려진 문제 및 제한 사항
테스트 결과 heapster
지표 구성 요소가 최대 25,000개의 Pod를 처리할 수 있습니다. 포드 양이 해당 수를 초과하는 경우 Heapster는 지표 처리에서 뒤처지기 때문에 지표 그래프가 더 이상 나타나지 않습니다. Heapster가 메트릭을 수집할 수 있는 Pod 및 대체 지표 수집 솔루션의 업스트림 개발을 위한 Pod 수를 늘리는 작업이 진행 중입니다.