Cloud

Openstack - Packstack 설치

heyoon2j 2019. 7. 23. 15:39

■ Openstack 설치

https://www.rdoproject.org/install/packstack/ : Packstack 공식 사이트

- CentOS 7

- Stein 버전 설치

- 하나의 PC에 Controller와 Compute 설치

 

Openstack 설치

- 먼저 방화벽, 네트워크 관련된 서비스를 멈춘다.

- #vi /etc/sysconfig/selinux: Selinux 설정 파일로 disabled로 변경, 적용을 위해서는 재부팅이 필요하다.

 

- #setenforce 0: disabled 바로 적용

 

- 기본 네트워크 서비스만 실행하고, Firewall과 NetworkManger는 종료시킨다.

#systemctl disable firewalld

#systemctl stop firewalld

#systemctl disable NetworkManager

#systemctl stop NetworkManager

#systemctl enable network

#systemctl start network

 

- #vi /etc/hostname: 호스트 명 변경

 

- #vi /etc/hosts: 호스트명으로 host를 추가해준다.

- 설정 후, 재부팅을 해준다.

 

- 위 그림은 Openstack Web 화면이다.

- 호스트를 추가하지 않으면, 하이퍼바이저 역할을 하는 호스트가 정상적으로 올라오지 않는 오류가 발생한다.

 

- #yum install -y centos-release-openstack-stein: stein 버전의 Openstack을 다운로드한다. 다른 버전을 다운로드하기 위해서는 stein 대신 다른 버전으로 바꿔서 입력하면 된다.

 

- #yum install -y openstack-packstack: Packstack 설치

 

- #packstack --gen-answer-file babo.txt: answer 파일 생성

- answer 파일 편집

 

 

* answer 파일 설정

- 계정 기본 Password 설정, It1

 

- Event Service(Monitoring Tool, Panko) 설치 유무

 

- Orchestration 설치 유무

=> Orchestration: OpenStack의 다른 핵심 구성요소들을 단일 파일 템플릿 시스템에 통합시킨다. 템플릿을 통하여 인스턴스, 유동 IP, 볼륨, 보안 그룹과 사용자 등의 대부분 OpenStack 자원 유형을 생성할 수 있다.

 

- NTP Server 설정

 

- OpenStack Controller Service Host 설정

 

- OpenStack Compute Service Host 설정 / Nova(Virtual Machines), Containers, Functions

 

- OpenStack Network Service Host 설정 / Neutron(SDN, Software Define Network), Load Balancing, DNS

 

- OpenStack Storage Service Host 설정 / 지원하지 않는다.

 

OpenStack Data Processing Service Host 설정 / 지원하지 않는다.

 

- AMQP Service 호스트 설정

 

- MariaDB Server Host 설정 / Database

 

MariaDB PW 설정

 

Keystone DB PW 설정 / 인증 서비스

 

Keystone ADMIN PW 설정

 

- Keystone 서비스는 인증 및 권한 부여 서비스를 위해 LDAP 디렉터리와 통합을 지원한다.  LDAP 백엔드를 사용하도록 구성하는 경우, 인증과 권한 부여를 분할할 수 있다.

 

- LDAP(Lightweight Directory Access Protocol) : 경량 디렉터리 액세스 프로토콜은 TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜[1]

=> 네트워크 상에서 조직이나 개인정보 혹은 파일이나 디바이스 정보 등을 찾아보는 것을 가능하게 만든 소프트웨어 프로토콜.

 

- L3 Bridge 설정

 

- 네트워크 Load Balancing 설치 유무 

 

- Neutron Firewall 설치 유무

 

- ML2에서 지원하는 Driver 설정

 

- Tenant Network는 오픈 스택 API를 통해 가상 / 물리적 스위치 위에 구축된 개인 네트워크를 말한다.

 

- ML2의 Mechanism Driver로 openvswitch 설정

 

- L2 Agent로 openvswitch 설정

 

- physical network : ovs_bridge 매핑

 

- 설정한 Bridge를 인터페이스에 매핑시킨다.

 

- 터널링을 위한 설정

 

- DEMO 설치 유무

 

- #packstack --answer-file babo.txt: answer 파일 설정대로 packstack 설치

 

- 설치가 정상적으로 완료되면 위와 같이 나온다.

 

- Openstack이 설치되어 있는 Host IP로 접속

 

 

Network 생성

- 관리 -> 네트워크 -> 네트워크

- 네트워크 생성

 

- Public 네트워크 생성

- 외부 네트워크 체크

 

- 서브넷 설정

 

- 할당 범위, DNS 설정

 

- Private 네트워크 생성

 

- 서브넷 설정

 

- 할당 범위, DNS 설정

 

 

Router 생성

- 관리 -> 네트워크 -> 라우터

- 라우터 생성 클릭

 

- 내부 네트워크와 외부 네트워크 간의 통신을 위한 라우터 생성

- 위에서 만든 외부 네트워크 선택

 

- 프로젝트 -> 라우터 -> 인터페이스 -> 인터페이스 추가

 

- IP 주소에 빈칸으로 놓을 시, 자동으로 설정

- 서브넷으로 "내부 네트워크 서브넷"을 선택한다.

 

- 상태가 Active로 올라오면 정상적으로 연결된 것이다. 

 

- 네트워크 토폴로지에서도 정상적으로 연결된 것을 확인할 수 있다.

 

ㆍinactive인 경우

- #yum install -y openstack-utils

 

- #openstack-status: Openstack 서비스 상태 확인

- neutron-l3-agent가 active인지 확인해서 inactive일 때는 아래 명령어 실행

 #openstack-service restart neutron-l3-agent

 #systemctl start neutron-l3-agent

 

 

보안 그룹 생성

- 프로젝트 -> 네트워크 -> 보안 그룹

- 보안 그룹 생성

 

- 이름 설정 -> 보안 그룹 생성 클릭

 

 

- 규칙 관리 클릭

 

- 규칙 추가 클릭

 

- 규칙 추가는 위와 같이 허용할 포트와 CIDR를 설정하면 된다.

 

- 규칙이 추가된 것을 확인할 수 있다.

 

 

Flavor 생성

- CPU, RAM, Disk 크기 설정 Template

 

- 관리 -> Compute -> Flavor

- Flavor 생성

 

- 원하는 CPU, RAM 등을 설정 후, Flavor 생성 클릭

 

 

이미지 생성

- 관리 -> Compute -> 이미지

- 이미지 생성

 

- 이미지 파일 설정 -> QEMU 선택 -> 이미지 생성 클릭

 

 

키 페어 생성

- 프로젝트 -> Compute -> 키 페어

- 키 페어 생성

 

- 이름 설정 및 Key Type: SSH Key 선택 후, 키 페어 생성 클릭

 

- 위의 그림같이 생성하게 되면 키 파일을 다운 받으라는 창이 나온다. 키를 통해 SSH 접속을 할 수 있기 때문에 잘 보관해둬야 된다.

 

 

인스턴스 생성

- 프로젝트 -> Compute -> 인스턴스

- 인스턴스 시작

 

- 인스턴스 이름 / 가용 구역: nova / 개수 설정

 

- 인스턴스 삭제 시 볼륨 삭제 “예”, 해당 부분을 “아니오”로 설정 시, 볼륨을 따로 삭제해줘야 한다.

 => 볼륨을 계속 사용하려면 “예”를 선택해도 된다.

- 사용 가능에 있는 이미지 중 원하는 이미지를 선택해서 할당해 주면 된다.

 

- Flavor 설정, 생성해 놓은 Flavor 설정으로 해당 인스턴스의 CPU, Memory, Storage 용량을 설정할 수 있다.

- 화살표 버튼을 클릭해서 할당할 수도, 뺄 수도 있다.

 

- 네트워크에서 Private 네트워크를 먼저 할당해줘야 한다.

- Public 네트워크는 나중에 유동 IP 설정으로 넣을 수 있기 때문에, 지금 넣지 않는다.

 

- 네트워크 포트를 선택할 수 있는 설정 화면이다.

 

- 보안 그룹 설정

- 기존에 만들어 놓은 linux 보안 그룹 적용

 

- 사용할 키 페어 등록

 

- 인스턴스에 스크립트를 사용할 수 있다.

- 기본적으로 centos 설치 시, user는 centos이기 때문에, echo ‘It1’ | --stdin centos를 이용해서 비번 설정

Ex> 스크립트 예시

 #! /bin/bash
 echo 'It1' | --stdin centos
 yum install -y httpd
 systemctl start httpd
 echo '$(hostname)' > /var/www/html/index.html

 

- 관리 -> 네트워크 -> Floating IP

- 프로젝트에 IP 할당

 

- 외부 IP를 할당하기 위해서는 먼저 Floating IP 할당을 통해 IP를 할당받아야 된다.

 

- 위와 같이 사용할 수 있는 Floating IP가 생긴 것을 확인할 수 있다.

 

- Floating IP를 할당할 인스턴스의 우측 작업 칸에서 유동 IP 연결 클릭

 

- 유동 IP 선택 후, 연결 클릭

 

- 위와 같이 유동 IP가 인스턴스에 할당된 것을 확인할 수 있다.

 

- 모든 과정이 정상적으로 마무리되면 해당 유동 IP로 접속되는 것을 확인할 수 있다.

 

 

출처

[1] https://ko.wikipedia.org/wiki/LDAP