4.2. 자동 스케일링을 위한 스택 배포 생성
자동 스케일링을 위한 스택 배포를 만듭니다. 이 절차에서는 환경과 다를 수 있는 예제 값을 사용합니다.
사전 요구 사항
- 자동으로 인스턴스 확장을 위한 heat 템플릿을 구성했습니다.
프로세스
openstack 클라이언트 Pod에 액세스합니다.
$ oc rsh openstackclient스택을 생성합니다.
$ openstack stack create -t /tmp/templates/autoscaling.yaml -e /tmp/templates/resources.yaml stack1
검증
스택을 성공적으로 생성했는지 확인합니다.
$ openstack stack show stack1 -c id -c stack_status +--------------+--------------------------------------+ | Field | Value | +--------------+--------------------------------------+ | id | 9ac44c45-4917-4cd5-a713-9ef7828d8457 | | stack_status | CREATE_COMPLETE | +--------------+--------------------------------------+알람, 확장 정책 및 자동 스케일링 그룹을 포함하여 스택 리소스를 생성했는지 확인합니다.
$ export STACK_ID=$(openstack stack show stack1 -c id -f value) $ openstack stack resource list $STACK_ID +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | resource_name | physical_resource_id | resource_type | resource_status | updated_time | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | scaleup_policy | 3cfb2a746dcf4fb6b3284b6c164e4ff5 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | scaledown_policy | ef60360ae7564abda088e67b3cc542f4 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_low | 95503054-aada-457c-b586-f98a88b00962 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_high | 65be604f-1262-4567-851d-ac28ae1bb178 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | autoscalinggroup | 8c4fea31-3beb-47b7-841d-fe82fb284628 | OS::Heat::AutoScalingGroup | CREATE_COMPLETE | 2024-03-26T09:17:54Z | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+스택 생성을 통해 인스턴스가 시작되었는지 확인합니다.
$ openstack server list --long | grep $STACK_ID | 9e2e9266-d69e-4de1-8b3a-e75f7111d1d9 | autoscaling_server_stack1-autoscalinggroup-oqmxiukze6dg-hdtuapbjxcow-q366nn4k5utr | ACTIVE | None | Running | private=192.168.0.209, 192.168.122.205 | cirros | 239959f7-3d16-4744-8eca-435cdfc1a4cf | m1.small | nova | edpm-compute-0.ctlplane.example.com | metering.server_group='9ac44c45-4917-4cd5-a713-9ef7828d8457' | UP |스택에 대한 알람을 생성했는지 확인합니다.
알람 ID를 나열합니다. 알람
상태가데이터가 충분하지않으면 데이터가수집된 후 다시 확인하십시오.$ openstack alarm list +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | alarm_id | type | name | state | severity | enabled | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | 65be604f-1262-4567-851d-ac28ae1bb178 | prometheus | stack1-cpu_alarm_high-q5yw2fg4h2vh | ok | low | True | | 95503054-aada-457c-b586-f98a88b00962 | prometheus | stack1-cpu_alarm_low-hjmpszetdpsw | alarm | low | True | +--------------------------------------+------------+------------------------------------+-------+----------+---------+스택의 리소스를 나열하고
cpu_alarm_high및cpu_alarm_low리소스의physical_resource_id값을 기록해 둡니다.$ openstack stack resource list $STACK_ID +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | resource_name | physical_resource_id | resource_type | resource_status | updated_time | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+ | scaleup_policy | 3cfb2a746dcf4fb6b3284b6c164e4ff5 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | scaledown_policy | ef60360ae7564abda088e67b3cc542f4 | OS::Heat::ScalingPolicy | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_low | 95503054-aada-457c-b586-f98a88b00962 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | cpu_alarm_high | 65be604f-1262-4567-851d-ac28ae1bb178 | OS::Aodh::PrometheusAlarm | CREATE_COMPLETE | 2024-03-26T09:17:54Z | | autoscalinggroup | 8c4fea31-3beb-47b7-841d-fe82fb284628 | OS::Heat::AutoScalingGroup | CREATE_COMPLETE | 2024-03-26T09:17:54Z | +------------------+--------------------------------------+----------------------------+-----------------+----------------------+
스택에 대한 지표 리소스 및 측정이 있는지 확인합니다. server_group에 스택의 ID를 사용합니다.
$ openstack metric query "(rate(ceilometer_cpu{server_group=~'ac2e87ba-f55e-46e7-8f8d-f09fe91d63d1'}[150s]))/10000000" +---------+--------------------------------------+----------------------------------------+----------------------------------+--------------------------------------+-------------------------------------------------------------------------+--------------------------------------+------+------+----------------------------------+----------------------------------------------------------+--------------------+ | counter | cpu | instance | project | resource | resource_name | server_group | type | unit | user | vm_instance | value | +---------+--------------------------------------+----------------------------------------+----------------------------------+--------------------------------------+-------------------------------------------------------------------------+--------------------------------------+------+------+----------------------------