본문으로 바로가기

OpenStack 설치(Packstack)

category OpenStack 2021. 5. 10. 10:41
반응형

OpenStack 이란?  프라이빗  퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼이다. 오픈스택을 이용해 프라이빗 클라우드 서비스를 구축하려고 한다.

 

 

 

아키텍처 (오픈스택 공식문서)

오픈스택 공식문서에 나와있는 아키텍처를 참고해 실습환경을 구성하려고 한다.

실제 컴퓨터는 두대를 사용하였고. 하나의 컴퓨터에 vmware를 사용해 두대를 가상머신으로 만들었다.(ControllerNode, Network Node) 나머지 한대의 컴퓨터를 ComputeNode로 사용할 것이며 저 컴퓨트 노드 안에 blockStorageNode를 결합 할 것이다.

 

컴퓨터의 운영체제는 전부 CentOS8로 설치 하였고, 컨트롤러 노드의 메모리는 4기가로 주었다(본체 컴퓨터의 cpu가 넉넉치 않기에)

 

 

호스트 명 추가.

vi /etc/hosts 아래

192.168.1.211 controller 

192.168.1.212 compute

192.168.1.213 network   

 

 

수동 설치하는 방법도 있지만 자동으로 설치 해줄수 있는 Packstack을 이용해 자동설치를 하려고 한다.

Packstack의 자동설치 매커니즘은 자동으로 연결해놓은 다른 네트워크 대역의 컴퓨터에 설치를 진행하는데

그렇게 하기 위해 각 세대의 컴퓨터의 설정을 바꿔 주었다.

 

터미널에 입력

dnf install network-scripts -y  

systemctl disable firewalld

systemctl stop firewalld

systemctl disable NetworkManager

systemctl stop NetworkManager

systemctl enable network

systemctl start network

 

setenforce 0

sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux    #etc/sysconfig/selinux 에 disabled로 수정하여도 된다.

 


(4) ssh 설정

 

[1] controller 노드
controller노드에서 각 노드를 접속해 자동으로 설치를 진행해야 하는데 그때마다 패스워드를 입력하기 번거로우니 들어갈 때 패스워드를 입력하지 않아도 되게 설정 해준다.

ssh-keygen

엔터 3번

ssh-copy-id root@controller
yes
패스워드 입력
ssh-copy-id root@compute
yes
패스워드 입력

ssh-copy-id root@network

yes
패스워드 입력

(5) 언어 설정 (모든 노드에다가)

vi /etc/environment

LANG=en_US.utf-8

LC_ALL=en_US.utf-8 

 

(6) 오픈스택 설치파일 다운(packstack)

 

dnf config-manager --enable powertools
dnf install -y centos-release-openstack-victoria
dnf update -y

 


dnf install -y openstack-packstack(packstack은 컨트롤러 노드에다가만 설치. 위의 업데이트 과정은 모든 컴퓨터)

 

 

* ntpdate 에러 vi /usr/share/openstack-puppet/modules/packstack/manifests/chrony.pp 안에 내용을 모두 삭제 맨 밑에 링크에서 내용 복사해서 붙여넣기 https://raw.githubusercontent.com/redhat-openstack/packstack/master/packstack/puppet/modules/packstack/manifests/chrony.pp

 

설치 완료후 url에 컨트롤러 ip/dashboard를 쳐서 들어간 다음  

ex) 192.168.1.211/dashboard

keystonerc_admin 

파일을 에 저장된 admin 과 비밀번호를  url에 쳐서  로그인

 

네트워크 추가.

 

1) 네트워크 추가(관리자가 관리자 프로젝트)

[1] 외부 네트워크 추가(브릿지처럼) 관리 -> 네트워크 -> 네트워크 생성 -> 이름(external), 프로젝트(admin), 공급자 유형(Flat), 물리 네트워크(extnet) 밑에 4가지 다 체트 -> 다음 서브넷 이름(external-subnet), 네트워크 주소(192.168.1.0/24), IP버전(4), 게이트웨이 IP(192.168.1.1) -> 다음 Pools 할당 (192.168.1.105,192.168.1.109), DNS 네임 서버(8.8.8.8) -> 생성

[2] 내부 네트워크 추가(Host-Only처럼) 프로젝트 -> 네트워크 -> 네트워크 생성 -> 네트워크 이름(internal), 나머지는 그대로 -> 다음 서브넷 이름(internal-subnet), 네트워크 주소(111.111.111.0/24), IP버전(4), 게이트웨이 IP(111.111.111.1) -> 다음 DNS 네임 서버(8.8.8.8) -> 생성

[3] 가상의 라우터 생성 프로젝트 -> 네트워크 -> 라우터 생성 -> 라우터 이름(test-router), 외부 네트워크(external 선택), 나머지 그대로 -> 라우터 생성 라우터 이름 클릭 -> 인터페이스 탭 -> 인터페이스 추가 -> 서브넷(internal 선택), IP주소(111.111.111.1) -> 제출

 

 

internal network와 외부 네트워크 연결

 

 

 

 

반응형

'OpenStack' 카테고리의 다른 글

클라우드용 커스텀 이미지 만들기  (0) 2021.05.14
오픈스택 잘 안 될시 문제 사항  (0) 2021.05.12