6.14. 使用自动扩展服务
要采用启用自动扩展的服务,您可以修补禁用 Alarming 服务(aodh)的现有 OpenStackControlPlane 自定义资源(CR)。补丁使用由 Red Hat OpenStack Platform 环境提供的配置参数启动服务。
先决条件
- 源 director Operator 环境正在运行。
- 单节点 OpenShift 或 OpenShift Local 在 Red Hat OpenShift Container Platform (RHOCP)集群中运行。
您已采用了以下服务:
- MariaDB
- Identity 服务 (keystone)
- 编配服务(heat)
- Telemetry 服务
流程
对
OpenStackControlPlaneCR 进行补丁来部署自动扩展服务:$ oc patch openstackcontrolplane openstack --type=merge --patch ' spec: telemetry: enabled: true template: autoscaling: enabled: true aodh: passwordSelector: aodhService: AodhPassword databaseAccount: aodh databaseInstance: openstack secret: osp-secret serviceUser: aodh heatInstance: heat '检查 aodh pod:
$ AODH_POD=`oc get pods -l service=aodh | tail -n 1 | cut -f 1 -d' '` $ oc exec -t $AODH_POD -c aodh-api -- cat /etc/aodh/aodh.conf检查 aodh API 服务是否在 Identity 服务中注册:
$ openstack endpoint list | grep aodh | d05d120153cd4f9b8310ac396b572926 | regionOne | aodh | alarming | True | internal | http://aodh-internal.openstack.svc:8042 | | d6daee0183494d7a9a5faee681c79046 | regionOne | aodh | alarming | True | public | http://aodh-public.openstack.svc:8042 |可选:使用
PrometheusAlarm警报类型创建 aodh 警报:注意您必须使用
PrometheusAlarm警报类型,而不是GnocchiAggregationByResourcesAlarm。$ openstack alarm create --name high_cpu_alarm \ --type prometheus \ --query "(rate(ceilometer_cpu{resource_name=~'cirros'})) * 100" \ --alarm-action 'log://' \ --granularity 15 \ --evaluation-periods 3 \ --comparison-operator gt \ --threshold 7000000000验证警报是否已启用:
$ openstack alarm list +--------------------------------------+------------+------------------+-------------------+----------+ | alarm_id | type | name | state | severity | enabled | +--------------------------------------+------------+------------------+-------------------+----------+ | 209dc2e9-f9d6-40e5-aecc-e767ce50e9c0 | prometheus | prometheus_alarm | ok | low | True | +--------------------------------------+------------+------------------+-------------------+----------+