第4章 自動スケーリングのテストとトラブルシューティング
オーケストレーションサービス (heat) を使用して、しきい値の定義に基づいて、インスタンスを自動的にスケールアップおよびスケールダウンします。環境のトラブルシューティングを行うには、ログファイルと履歴レコードでエラーを探すことができます。
4.1. インスタンスの自動スケールアップのテスト
オーケストレーションサービス (heat) を使用して、cpu_alarm_high しきい値の定義に基づいて、インスタンスを自動的にスケーリングできます。CPU 使用率が threshold パラメーターで定義された値に達すると、負荷を分散するために、別のインスタンスが起動します。template.yaml ファイルの threshold 値は、80% に設定されます。
手順
-
stackユーザーとしてホスト環境にログインします。 スタンドアロン環境の場合は、
OS_CLOUD環境変数を設定します。[stack@standalone ~]$ export OS_CLOUD=standalone
Director 環境の場合は、
stackrcファイルを入手します。[stack@undercloud ~]$ source ~/stackrc
インスタンスにログインします。
$ ssh -i ~/mykey.pem cirros@192.168.122.8
複数の
ddコマンドを実行して、負荷を生成します。[instance ~]$ sudo dd if=/dev/zero of=/dev/null & [instance ~]$ sudo dd if=/dev/zero of=/dev/null & [instance ~]$ sudo dd if=/dev/zero of=/dev/null &
- 実行中のインスタンスを終了し、ホストに戻ります。
ddコマンドを実行すると、インスタンスで 100% の CPU 使用率を期待できます。アラームがトリガーされていることを確認します。$ openstack alarm list +--------------------------------------+--------------------------------------------+-------------------------------------+-------+----------+---------+ | alarm_id | type | name | state | severity | enabled | +--------------------------------------+--------------------------------------------+-------------------------------------+-------+----------+---------+ | 022f707d-46cc-4d39-a0b2-afd2fc7ab86a | gnocchi_aggregation_by_resources_threshold | example-cpu_alarm_high-odj77qpbld7j | alarm | low | True | | 46ed2c50-e05a-44d8-b6f6-f1ebd83af913 | gnocchi_aggregation_by_resources_threshold | example-cpu_alarm_low-m37jvnm56x2t | ok | low | True | +--------------------------------------+--------------------------------------------+-------------------------------------+-------+----------+---------+
約 60 秒後、オーケストレーションは、別のインスタンスを開始し、グループに追加します。インスタンスが作成されたことを確認するには、次のコマンドを入力します。
$ openstack server list +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ | 477ee1af-096c-477c-9a3f-b95b0e2d4ab5 | ex-3gax-4urpikl5koff-yrxk3zxzfmpf-server-2hde4tp4trnk | ACTIVE | - | Running | internal1=10.10.10.13, 192.168.122.17 | | e1524f65-5be6-49e4-8501-e5e5d812c612 | ex-3gax-5f3a4og5cwn2-png47w3u2vjd-server-vaajhuv4mj3j | ACTIVE | - | Running | internal1=10.10.10.9, 192.168.122.8 | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+
さらにしばらくすると、オーケストレーションサービスが 3 つのインスタンスに自動スケーリングされたことを確認します。設定は、最大 3 つのインスタンスに設定されます。3 つのインスタンスがあることを確認します。
$ openstack server list +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+ | 477ee1af-096c-477c-9a3f-b95b0e2d4ab5 | ex-3gax-4urpikl5koff-yrxk3zxzfmpf-server-2hde4tp4trnk | ACTIVE | - | Running | internal1=10.10.10.13, 192.168.122.17 | | e1524f65-5be6-49e4-8501-e5e5d812c612 | ex-3gax-5f3a4og5cwn2-png47w3u2vjd-server-vaajhuv4mj3j | ACTIVE | - | Running | internal1=10.10.10.9, 192.168.122.8 | | 6c88179e-c368-453d-a01a-555eae8cd77a | ex-3gax-fvxz3tr63j4o-36fhftuja3bw-server-rhl4sqkjuy5p | ACTIVE | - | Running | internal1=10.10.10.5, 192.168.122.5 | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+