3장. 자동 스케일링 구성 및 배포
자동 스케일링을 구성하고 배포하려면 다음 사전 요구 사항을 완료해야 합니다.
- 자동 스케일링을 위해 클라우드를 배포하기 전에 자동 스케일링 서비스를 위한 환경 템플릿과 리소스 레지스트리를 생성합니다.
- 클라우드를 배포합니다.
3.1. 자동 스케일링을 위한 컨트롤 플레인 리소스 활성화 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에 따라 자동 스케일링에 필요한 컨트롤 플레인 리소스를 활성화합니다.
사전 요구 사항
- 배포된 Red Hat OpenStack Services on OpenShift(RHOSO) 환경.
프로세스
OpenStackControlPlane사용자 지정 리소스를 편집하여 Orchestration(heat) 및 Telemetry 서비스를 활성화합니다. .yaml 파일의 telemetry 섹션에서 Ceilometer, 자동 확장 및 MetricStorage 오브젝트를 활성화합니다.$ oc edit oscp ... heat: enabled: true ... telemetry: apiOverride: {} enabled: true template: autoscaling: enabled: true heatInstance: heat ... ceilometer: enabled: true ... metricStorage: enabled: true ... ...
검증
필요한 사용자 정의 리소스가 준비되었는지 확인합니다.
$ oc get heat heat -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True $ oc get ceilometer ceilometer -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True $ oc get autoscaling autoscaling -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' True $ oc get metricstorage metric-storage -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}' TrueAlarming 서비스 끝점이 있는지 확인합니다.
$ oc rsh openstackclient openstack endpoint list --service alarming +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------------+ | 62d20961a3354daa8adf52db62cc809d | regionOne | aodh | alarming | True | public | https://aodh-public-openstack.apps.example.testing | | 8e526119b01248aba8d304de627a6267 | regionOne | aodh | alarming | True | internal | http://aodh-internal.openstack.svc:8042 | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------------+오케스트레이션 서비스 끝점이 있는지 확인합니다.
$ oc rsh openstackclient openstack endpoint list --service orchestration +----------------------------------+-----------+--------------+---------------+---------+-----------+---------------------------------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +----------------------------------+-----------+--------------+---------------+---------+-----------+---------------------------------------------------------------------+ | 77190103ae3b479290138ebeca4a54d7 | regionOne | heat | orchestration | True | internal | http://heat-api-internal.openstack.svc:8004/v1/%(tenant_id)s | | c302ee5ff5cc45709d20b2d4a872d08f | regionOne | heat | orchestration | True | public | https://heat-api-public-openstack.apps.example.testing/v1/%(tenant_id)s | +----------------------------------+-----------+--------------+---------------+---------+-----------+---------------------------------------------------------------------+Prometheus가 활성화되어 있으며 각 끝점을 스크랩할 수 있는지 확인합니다. TLS가 활성화된 경우 Prometheus 컨테이너를 제외하고 출력의 값이 각 행에 대해 1인지 확인합니다.
$ oc rsh openstackclient openstack metric query up --disable-rbac -c instance -c container -c value +----------------------+----------------------+-------+ | instance | container | value | +----------------------+----------------------+-------+ | 10.217.1.27:9093 | alertmanager | 1 | | 10.217.1.27:9093 | prometheus | 0 | | 10.217.1.52:3000 | proxy-httpd | 1 | | 10.217.0.169:3000 | | 1 | | 192.168.122.100:9100 | | 1 | | 192.168.122.101:9100 | | 1 | +----------------------+----------------------+-------+