This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.4.4. CLI를 사용하여 메모리 사용률에 대한 수평 Pod 자동 스케일러 오브젝트 생성
기존 DeploymentConfig
또는 ReplicationController
오브젝트에 HPA(수평 Pod 자동 스케일러)를 생성하면 지정하는 평균 메모리 사용률(직접적인 값 또는 요청 메모리의 백분율)을 유지하도록 해당 오브젝트에 연결된 Pod를 자동으로 스케일링할 수 있습니다.
HPA는 최소 및 최대 개수 사이에서 복제본 수를 늘리거나 줄여 전체 Pod에서 지정된 메모리 사용률을 유지합니다.
메모리 사용률의 경우 최소 및 최대 Pod 수와 Pod에서 목표로 해야 하는 평균 메모리 사용률을 지정할 수 있습니다. 최솟값을 지정하지 않으면 Pod에 OpenShift Container Platform 서버의 기본값이 지정됩니다.
사전 요구 사항
수평 Pod 자동 스케일러를 사용하려면 클러스터 관리자가 클러스터 메트릭을 올바르게 구성해야 합니다. oc describe PodMetrics <pod-name>
명령을 사용하여 메트릭이 구성되어 있는지 확인할 수 있습니다. 메트릭이 구성된 경우 출력이 다음과 유사하게 표시되고 Usage
에 Cpu
및 Memory
가 표시됩니다.
oc describe PodMetrics openshift-kube-scheduler-ip-10-0-129-223.compute.internal -n openshift-kube-scheduler
$ oc describe PodMetrics openshift-kube-scheduler-ip-10-0-129-223.compute.internal -n openshift-kube-scheduler
출력 예
프로세스
메모리 사용률에 대한 수평 Pod 자동 스케일러를 생성하려면 다음을 수행합니다.
다음 중 하나에 대한 YAML 파일을 생성합니다.
특정 메모리 값을 스케일링하려면 기존
ReplicationController
오브젝트 또는 복제 컨트롤러에 대해 다음과 유사한HorizontalPodAutoscaler
오브젝트를 생성합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
autoscaling/v2beta2
API를 사용합니다.- 2
- 이 수평 Pod 자동 스케일러 오브젝트의 이름을 지정합니다.
- 3
- 스케일링할 오브젝트의 API 버전을 지정합니다.
-
복제 컨트롤러의 경우
v1
을 사용합니다. -
DeploymentConfig
오브젝트의 경우apps.openshift.io/v1
을 사용합니다.
-
복제 컨트롤러의 경우
- 4
ReplicationController
또는DeploymentConfig
중 스케일링할 오브젝트 유형을 지정합니다.- 5
- 스케일링할 오브젝트의 이름을 지정합니다. 오브젝트가 있어야 합니다.
- 6
- 축소 시 최소 복제본 수를 지정합니다.
- 7
- 확장 시 최대 복제본 수를 지정합니다.
- 8
- 메모리 사용률에
metrics
매개변수를 사용합니다. - 9
- 메모리 사용률에 대한
메모리
를 지정합니다. - 10
- 유형을
AverageValue
로 설정합니다. - 11
averageValue
및 특정 메모리 값을 지정합니다.- 12
- 선택 사항: 확장 또는 축소 속도를 제어하려면 스케일링 정책을 지정합니다.
백분율로 스케일링하려면 다음과 유사한
HorizontalPodAutoscaler
오브젝트를 생성합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
autoscaling/v2beta2
API를 사용합니다.- 2
- 이 수평 Pod 자동 스케일러 오브젝트의 이름을 지정합니다.
- 3
- 스케일링할 오브젝트의 API 버전을 지정합니다.
-
복제 컨트롤러의 경우
v1
을 사용합니다. -
DeploymentConfig
오브젝트의 경우apps.openshift.io/v1
을 사용합니다.
-
복제 컨트롤러의 경우
- 4
ReplicationController
또는DeploymentConfig
중 스케일링할 오브젝트 유형을 지정합니다.- 5
- 스케일링할 오브젝트의 이름을 지정합니다. 오브젝트가 있어야 합니다.
- 6
- 축소 시 최소 복제본 수를 지정합니다.
- 7
- 확장 시 최대 복제본 수를 지정합니다.
- 8
- 메모리 사용률에
metrics
매개변수를 사용합니다. - 9
- 메모리 사용률에 대한
메모리
를 지정합니다. - 10
Utilization
으로 설정합니다.- 11
averageUtilization
및 전체 Pod에 대한 대상 평균 메모리 사용률(요청 메모리의 백분율로 표시)을 지정합니다. 대상 Pod에 메모리 요청이 구성되어 있어야 합니다.- 12
- 선택 사항: 확장 또는 축소 속도를 제어하려면 스케일링 정책을 지정합니다.
수평 Pod 자동 스케일러를 생성합니다.
oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
oc create -f hpa.yaml
$ oc create -f hpa.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
horizontalpodautoscaler.autoscaling/hpa-resource-metrics-memory created
horizontalpodautoscaler.autoscaling/hpa-resource-metrics-memory created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 수평 Pod 자동 스케일러가 생성되었는지 확인합니다.
oc get hpa hpa-resource-metrics-memory
$ oc get hpa hpa-resource-metrics-memory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE hpa-resource-metrics-memory ReplicationController/example 2441216/500Mi 1 10 1 20m
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE hpa-resource-metrics-memory ReplicationController/example 2441216/500Mi 1 10 1 20m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc describe hpa hpa-resource-metrics-memory
$ oc describe hpa hpa-resource-metrics-memory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow