0부터 시작하는 OpenStack 공부 - OpenStack 설치하기

Jaehong Lee·2022년 9월 15일
0
post-thumbnail

1. OpenStack 설치 및 접근 과정

PackStack 을 이용해 OpenStack 을 설치하는 과정 & 설치 후 사용자가 접근하는 과정

Awa & OpenStack

  • Aws 는 이용자 입장
  • OpenStack 은 설치 및 관리자 ( 클라우드 서비스에 대한 추가적인 개발, 변경 ) 입장

OpenStack 설치 및 접근 과정

PackStack 을 통한 OpenStack 설치 과정

  • PackStack 은 스크립트를 통해 OpenStack 을 설치해준다. PackStack 은 OpenStack 의 설치를 도와주는 도구이다
    1. PackStack 은 스크립트 파일을 생성한다
    2. 사용자가 설치 서비스, 설정등을 스크립트에 작성
    3. PackStack 에서 스크립트 파일을 읽는다
    4. 요구 사항에 따라 패키지를 repository 에 요청
    5. 저장소에서 받아온 패키지로 데몬 설치 및 실행
    6. 서비스 설정 정보를 DB ( MariaDB ) 에 등록

사용자가 OpenStack 접근 과정

  • 사용자가 OpenStack 에 접근하여 명령을 내리는 과정
    1. 사용자가 인증
    2. 인증 정보를 DB 에 전송
    3. 사용자에게 인증 정보를 Token 으로 전달
    4. 사용자는 Token 과 Api 주소과 함께 명령을 API 로 전달
    5. Api 서버는 해당 요청을 받고 DB 에 접근
    6. 요청한 Data 를 사용자가 원하는 형식으로 전달

2. OpenStack 설치하기

설치 사전 조건

  1. 안정적인 네트워크 속도
  2. 설치를 위한 충분한 Cpu, Ram

PackStack 을 이용한 OpenStack 설치 과정

  1. CentOS 를 ServerwithGUI 버전으로 설치 ( NIC 는 NAT 로 구성 ). 단, 부팅은 run-level 을 3 ( Cli 환경 ) 으로 설정

    systemctl set-default multi0user.target

  2. 설치 이후 방화벽, NetworkManager, SELinux 비활성화 해야 한다. 업데이트도 필요

위의 과정을 미리 시행하고, 아래 과정을 따라하자

  1. Package Repository & PackStack 설치
  2. PackStack 을 이용하여 설치를 위한 answer 파일을 생성
  3. PackStack 으로 OpenStack 설치

Package Repository 및 PackStack 설치

OpenStack 설치를 위한 패키지 저장소

  • OpenStack 설치를 위한 패키지 저장소 : /etc/yum.respod.d/저장소목록

설치 코드

yum -y install centos-release-openstack-rocky # 오픈 스택을 PackStack 을 통해 설치하기 위하여 오픈스택 패키지 저장소를 등록시킨다
yum -y install -y openstack-packstack # 팩스택을 설치
  • 오픈스택의 다양한 서비스를 설치하기 위한 패키지를 새로 추가된 저장소에 요청한다. 위의 코드는 해당 저장소 설치를 위한 코드이다

answer.txt 생성 및 확인

packstack --gen-answer-file=answer.txt
  • answer.txt 를 생성하자

  • MariaDB 설치는 무조건 필요하다

  • MariaDB 에 대한 계정 정보도 설정한다

  • KeyStone 에 등록할 ADMIN 계정 인증 정보와 일반 사용자인 DEMO 계정 인증 정보도 설정한다

  • Heat 는 오케스트레이션 도구이다. 이는 AWS 의 Cloudformation, Docker Stack , Docker Compose , Terraform 과 같은 IAC 와 유사하다. Heat 서비스는 AWS 와 연계가 가능하다

  • nova 서비스는 compute, cinder / glance / head / horizon / neutron / keystone 서비스는 control 에 설치된다
  • 만약, Node 를 추가했다면, 추가한 Node 의 주소를 Hosts 에 추가하면 된다

PackStack 으로 OpenStack 설치

packstack --answer-file=answer.txt

  • answer.txt 의 내용을 PackStack 이 읽고, 설치를 실행한다
    • 해당 파일에 써있는 내용을 바탕으로 각 Node 에 패키지를 설치하고, 설치된 서비스에 설정을 반영한다

설치가 완료됬다!!!!


3. 설치 후 확인

cli 환경에서 확인해보자


keystonerc_admin

  • admin 계정 정보와 인증 성공시 출력 프롬프트에 대해 정의되있다. 위의 정보들은 해당 계정으로 접속하면 전역 변수로 확인할 수 있다
  • unset OS_SERVICE_TOKEN 은 기존에 있는 TOKEN 을 해제하고, 새로 인증해서 사용하겠다는 설정이다

  • 위와 같이 인증 성공시 출력 프롬프트 내용을 바꾸면

  • 위와 같이 인증 성공시 설정한 프롬프트가 출력된다

  • 파일에 설정된 전역 변수를 확인 가능하다

OpenStack Data 확인

우리는 최고 관리자인 Admin 으로 접속했으므로, 모든 정보를 확인 가능하다

  • user 와 network list 확인

  • show 는 상세 정보를 확인할 수 있다. private network 의 상세 정보를 확인해보자

4. 필수 설정

  1. keystone 에서 인증을 거치게 되면 Token 의 만료 시간이 정해진다. 이를 늘려야 한다
  2. 웹 서비스도 TIME OUT 이 있으므로 기간을 늘려야 한다

Token 만료 시간 늘리기

vi /etc/keystone/keystone.conf
  • keystone 서비스 구성 파일에 들어가자

  • 만료 시간을 8시간 = 28800초 로 설정하자

웹 서비스 만료 시간 늘리기

vi /etc/openstack-dashboard/local_settings
  • dashboard 설정 파일에 들어가자

  • 웹 서비스 만료 시간을 늘려주자

5. Password 랜덤 생성

  • openssl 을 통해 패스워드 생성시 랜덤한 패스워드를 자동으로 생성할 수 있다
[root@localhost ~]# openssl rand -hex 10
58715e459821edd9c6bd
[root@localhost ~]# openssl rand -hex 10
4bcbcef3c69ddc87b6f3
profile
멋진 엔지니어가 될 때까지

0개의 댓글