대시보드가 아닌 명령어를 이용한 인스턴스 생성 및 삭제


서비스들을 관리할 때 대시보드를 사용하는 것이 더 편리하지만

자동화 시키거나 자동화 프로그램을 만들어서 관리할 때에는 명령어로 관리하는 것이 더 쉽다


오픈스택의 명령어는 다음 사이트에서 확인할 수 있다

https://docs.openstack.org/python-openstackclient/pike/cli/command-list.html


기본 설정값으로 명령어로 접근하기 위해서는 다음과 같은 명령어와 옵션을 매번 입력해야 한다

openstack service list [--os-auth-url [url]  --os-username [사용자]]


매 명령어 입력마다 긴 옵션을 적기 귀찮기 때문에(귀찮으면 개발합시다) 스크립트를 적용하여 더 편한 환경으로 설정하고 실습을 진행해보자






1. 먼저 대시보드에 admin 계정으로 접속하여 좌측 상단 계정명을 눌러서 OpenStack RC File v3을 다운받아서

오픈스택이 설치된 우분투 가상머신 안으로 파일을 옮겨준다

(본인은 Berryz WebShare라는 웹 파일서버를 이용해서 옮겼다)




2. 다음 명령어로 옮긴 스크립트 파일을 적용시켜준다

source [스크립트 파일명] : 스크립트 파일 적용




3. 다음 명령어로 설치된 서비스를 확인할 수 있고 긴 옵션이 필요없다는 것도 확인 가능하다

openstack service list : 설치된 서비스 목록




4. 대시보드를 이용하여 인스턴스를 생성할 때 설정해줬던 몇 가지가 있는데 그 중 필수로 설정해줘야 하는 4가지 항목이 있다

다음 4가지 항목만 일일이 설정하고 나머지는 기본 설정값으로 생성해보자(설정하려면 명령어가 길어지기 때문에)

image(이미지)

Flavor(사양)

security group(보안그룹)

network(네트워크)


위의 4가지 항목을 필수로 설정해줘야 인스턴스를 생성할 수 있는데 설정할 값(ID)들을 하나하나 직접 확인해서 명령어 입력 시 입력해야한다





5. 다음 명령어로 사용 가능한 image의 ID를 확인한다

openstack image list : 이미지 목록




6. 다음 명령어로 flavor의 ID를 확인한다

(여러 가지 사양들 중 원하는 사양 선택)

openstack flavor list : flavor 목록




7. 다음 명령어로 admin-openrc.sh 스크립트 파일에서 프로젝트 ID를 확인한다

cat admin-openrc.sh | grep OS_PROJECT_ID


(본인의 프로젝트 ID는 65e5bbf5aed34fd5993e83829eeb063d)


다음 명령어로 보안 그룹 목록을 확인하고 확인해둔 프로젝트 ID와 동일한 보안 그룹을 확인하고

프로젝트 ID와 동일한 보안 그룹이 여러 개 존재한다면 사용자가 원하는 보안 그룹 ID를 확인한다

openstack security group list : 보안 그룹 목록


(본인은 프로젝트 ID가 일치하는 보안 그룹이 단 하나다)




8. 다음 명령어로 필수 항목만 설정하고 인스턴스를 생성한다

openstack server create --flavor [id]  --image [id]  --security-group [id]  --network [id] [생성할 인스턴스 이름]




9. 인스턴스가 생성되었다




10. 다음 명령어로 생성된 인스턴스를 확인할 수 있다

openstack server list : 인스턴스 목록


demo123 인스턴스는 ACTIVE 상태로 제대로 생성되었지만 demo11과 demo22는 ERROR 상태로 생성되었다

원인은 인스턴스 생성 명령어 오타일 확률이 높다

특히 보안 그룹 ID에 오타가 있으면 인스턴스는 생성되지만 ERROR 상태가 된다

다른 곳에서 오타가 있으면 인스턴스가 생성조차 되지 않기 때문에 인스턴스가 ERROR 상태로 생성되었다면 보안 그룹을 살펴보자




11. 대시보드에 접속해보면 인스턴스가 생성된 것을 확인할 수 있다




12. 인스턴스 목록을 확인하고 다음 명령어로 해당 인스턴스를 삭제할 수 있다

openstack server delete [인스턴스 이름]


+ Recent posts