Senlin은 profile이라 불리는 cluster 스펙 요구치와 policy라는 정책 설정 파일이 필요
특정 스펙의 instance를 같은 이름으로 cluster로 묶어 관리할 수 있음
test용 my-profile.yaml
type: os.nova.server
version: 1.0
properties:
name: senlin-vm
flavor: devstack-tiny
image: "cirros"
key_name: phw
networks:
- network: private
security_groups:
- default
metadata:
test_key: test_value
user_data: |
#!/bin/sh
echo 'hello, world' > /tmp/test_file
test용 my-policy.yaml
type: senlin.policy.health
version: 1.1
description: A policy for maintaining node health from a cluster.
properties:
detection:
# Number of seconds between two adjacent checking
interval: 60
detection_modes:
# Type for health checking, valid values include:
# NODE_STATUS_POLLING, NODE_STATUS_POLL_URL, LIFECYCLE_EVENTS
- type: NODE_STATUS_POLLING
recovery:
# Action that can be retried on a failed node, will improve to
# support multiple actions in the future. Valid values include:
# REBOOT, REBUILD, RECREATE
actions:
- name: RECREATE
policy 관련은 추가 공부 필요
해당 yaml을 통해 명령어 혹은 ui로 openstack에 등록
openstack cluster profile create --spec-file my-profile.yaml server-profile
profile을 통해 cluster 생성
openstack cluster create --profile server-profile --desired-capacity 2 --min-size 1 --max-size 3 my-cluster
policy 등록
openstack cluster policy create --spec-file mypolicy.yaml my-policy
등록한 policy를 cluster에 적용
openstack cluster policy attach --policy my-policy my-cluster
이후 vm 삭제 테스트 시 일정 갯수로 유지 되는 것 확인
- 3개 였던 cluster를 하나를 지워 2개로 만들면 일정 시간 후 재생성 되며 3개 유지
resize 시 정상적으로 늘거나 줄어드는 것 확인
max size를 넘는 값으로 설정 시 max size로 적용 되는 것 확인
openstack cluster expand my-cluster
1개 증가
openstack cluster shrink my-cluster
1개 삭제
Scale-In이 2이면 2개가 되는 게 아니라 2개가 줄어드는 것
반대로 Scale-Out이 2이면 2개가 되는 게 아니라 2개가 늘어나는 것
클러스터 삭제 시 하위 멤버 인스턴스들도 삭제
'Openstack' 카테고리의 다른 글
Openstack Bridge, Port 수동 작업 (0) | 2024.05.23 |
---|---|
Openstack Galera clustering 복구 (0) | 2024.05.23 |
Openstack RabbitMQ unsynchronized error (0) | 2024.05.23 |
Openstack Magnum (0) | 2024.05.23 |
Openstack DNS lookup (0) | 2024.05.23 |