Stein 오픈스택 클라우드 서버 구축(9) - 대시보드 서비스(Horizon) 구축 및 대시보드 기본 구조

blog post 

 

 

기본적인 오픈스택 클라우드 서비스 구축 마지막 단계 입니다. 이번 포스팅에서는 대시보드 서비스를 제공하는 Horizon 서비스를 구성해 보도록 하겠습니다.

 

Horizon은 httpd 기반으로 동작하며, 컨트롤러 노드에서 서비스를 제공하므로 아래 과정은 컨트롤러 노드에서 진행합니다.

 

 

1. Horizon 서비스 설치 및 설정

 

 

Horizon 서비스를 설치합니다.

 

[root@Controller ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-dashboard

 

다음과 같이 대시보드 및 httpd 관련 설정을 진행합니다.

 

[root@Controller ~]# vi /etc/openstack-dashboard/local_settings

# 아래와 같이 대시보드에 접속할 때 사용할 호스트 명을 지정해줄 수 있습니다.
# 저의 경우 아래와 같이 Controller ip로 접속할 수 있도록 했습니다.
ALLOWED_HOSTS = ['localhost','192.168.0.26']

# OPENSTACK_API_VERSIONS의 volume 값을 3으로 지정합니다.
OPENSTACK_API_VERSIONS = {
#    "data-processing": 1.1,
    "identity": 3,
    "volume": 3,
    "compute": 2,
}

# 아래 옵션의 주석을 풀고 True로 변경합니다.
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True

# 아래 옵션의 주석을 해제합니다.
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'

# 아래 옵션에서 LOCATION의 주석을 풀고 127.0.0.1(컨트롤러 노드 자신)로 변경합니다.
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    },
}

# 아래와 같이 OPENSTACK_HOST의 주소를 컨트롤러 노드의 ip로 변경합니다.
OPENSTACK_HOST = "10.0.0.26"
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST

# 아래 옵션을 통해 기본 역할을 member로 설정합니다.
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member"

 

다음으로 httpd 옵션에서도 설정을 변경합니다.

 

[root@Controller ~]# vi /etc/httpd/conf.d/openstack-dashboard.conf
...
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi

# 위의 리스트에 이어 아래 항목을 추가해 줍니다.
WSGIApplicationGroup %{GLOBAL}

 


 

2. Selinux 와 방화벽 설정

 

 

Selinux나 방화벽을 사용하는 경우 아래와 같이 서비스 및 포트를 허용해 줍니다.

 

[root@Controller ~]# setsebool -P httpd_can_network_connect on
[root@Controller ~]# firewall-cmd --add-service={http,https} --permanent 
[root@Controller ~]# firewall-cmd --reload 

 

 

3. 대시보드 접속 테스트

 

 

아래와 같이 외부에서 대시보드에 접속할 수 있는지 확인해 봅니다. 물론 외부에서 접속하기 위해 192.168.0.26(컨트롤러 노드의 관리망 IP)을 사용할 수 있도록 하였으므로, 해당 IP와 같은 대역에 있는 외부 PC에서 접속을 시도해 봅니다. 

http://(본인이 지정한 ip)/dashboard

 

만약 대시보드에 접속이 안되면 /var/log/httpd 에서 로그 메시지를 확인해 봅니다. 혹은 접속을 시도한 PC의 ip가 현재 컨트롤러 노드와 통신이 가능한 상태인지도 확인해 봐야 합니다.

 

이제 관리자 계정으로 로그인 해 보겠습니다. 앞서 인증 서비스 구축 포스트에서 사용한 admin 계정으로 다음과 같이 입력하고 접속하면 아래와 같이 admin 계정의 overview 페이지로 넘어가는 것을 볼 수 있습니다.

  • 도메인: default
  • 사용자: admin
  • 암호: (본인이 생성한 암호)

 

이것으로 1차적으로 목표했던 기본 오픈스택 시스템 구축을 마쳤습니다. 이 밖에도 인스턴스에 볼륨을 추가할 수 있는 블록스토리지, 비정형 데이터를 저장할 수 있는 오브젝트 스토리지 컴포넌트 등, 오픈스택은 다양한 옵셔널 기능들을 제공하고 있습니다. 추후에 이에 관하여 다룰 기회가 있으면 포스팅 하도록 하겠습니다.

 

다음 포스트부터는 구축한 오픈스택 시스템을 기반으로 가상의 테넌트 네트워크 및 인스턴스를 생성하고 실제로 시스템에서 어떻게 동작하는지 분석 위주로 진행하도록 하겠습니다.

 

기본 오픈스택 구축 포스팅은 이것으로 마치겠습니다.

 

TAGS.

Comments