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。如果警报的状态为
insufficient data,则在数据收集后尝试再次检查:$ 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 | +---------+--------------------------------------+----------------------------------------+----------------------------------+--------------------------------------+-------------------------------------------------------------------------+--------------------------------------+------+------+----------------------------