5장. 자동 스케일링 테스트 및 문제 해결
오케스트레이션 서비스(heat)를 사용하여 임계값 정의에 따라 인스턴스를 자동으로 확장 및 축소합니다. 환경의 문제를 해결하려면 로그 파일 및 기록 레코드에서 오류를 찾을 수 있습니다.
5.1. 인스턴스 자동 확장 테스트 링크 복사링크가 클립보드에 복사되었습니다!
Orchestration 서비스(heat)를 사용하여 cpu_alarm_high 임계값 정의에 따라 자동으로 인스턴스를 확장할 수 있습니다. CPU 사용량이 threshold 매개변수에 정의된 값에 도달하면 로드의 균형을 조정하기 위해 다른 인스턴스가 시작됩니다. template.yaml 파일의 임계값 은 80%로 설정됩니다. 이 절차에서는 환경과 다를 수 있는 예제 값을 사용합니다.
프로세스
클라이언트 Pod에 액세스합니다.
$ oc rsh openstackclientcirros 서버 IP 주소를 가져와서 인스턴스에 로그인합니다. cirros 이미지의 기본 암호는 "gocubsgo"입니다.
$ openstack server list | grep cirros $ ssh 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 | +--------------------------------------+------------+------------------------------------+-------+----------+---------+ | 3000766d-a7fc-4187-98ea-cafd1239c160 | prometheus | stack1-cpu_alarm_low-n3iy7oaffq4i | ok | low | True | | 899f8242-96dd-4bad-a7f9-0b9526ea6032 | prometheus | stack1-cpu_alarm_high-riua4sthkvcs | alarm | low | True | +--------------------------------------+------------+------------------------------------+-------+----------+---------+약 60초 후에 오케스트레이션에서 다른 인스턴스를 시작하여 그룹에 추가합니다. 인스턴스가 생성되었는지 확인하려면 다음 명령을 입력합니다.
$ openstack server list +--------------------------------------+-----------------------------------------------------------------------------------+--------+----------------------------------------+--------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-----------------------------------------------------------------------------------+--------+----------------------------------------+--------+----------+ | 53ffb3c5-a425-4929-b01d-50d653fe23f8 | autoscaling_server_stack1-autoscalinggroup-oqmxiukze6dg-qn7drottgjek-3oiecx4gkowi | ACTIVE | private=192.168.0.116, 192.168.122.204 | cirros | m1.small | | 9e2e9266-d69e-4de1-8b3a-e75f7111d1d9 | autoscaling_server_stack1-autoscalinggroup-oqmxiukze6dg-hdtuapbjxcow-q366nn4k5utr | ACTIVE | private=192.168.0.209, 192.168.122.205 | cirros | m1.small | +--------------------------------------+-----------------------------------------------------------------------------------+--------+----------------------------------------+--------+----------+(선택 사항) 다른 단기간에 오케스트레이션 서비스가 세 개의 인스턴스로 자동 스케일링되는지 관찰합니다. 구성은 최대 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 | +--------------------------------------+-------------------------------------------------------+--------+------------+-------------+---------------------------------------+