CentOS 7 에 Openstack Train 버전 설치 - 7. Dashboard – horizon installation
시스템 요구사항
Horizon의 Train 릴리스에는 다음과 같은 종속성이 있습니다.
- Python 2.7, 3.6 또는 3.7
- Django 1.11, 2.0 및 2.2
- Django 2.0 및 2.2 지원은 Train 릴리스에서 실험적입니다.
- Ussuri 릴리스 (Train 릴리스 이후 예정된 릴리스)는 Django 2.2를 기본 Django 버전으로 사용합니다. Django 2.0 지원이 중단됩니다.
- Django 1.8 ~ 1.10은 Rocky 릴리스 이후 더 이상 지원되지 않습니다.
- Django 지원 정책은 프로젝트 정책에 문서화되어 있습니다.
- 액세스 가능한 키스톤 엔드 포인트
- 다른 모든 서비스는 선택 사항입니다. Horizon은 Stein 릴리스부터 다음 서비스를 지원합니다. 서비스에 대한 키스톤 엔드 포인트가 구성된 경우 Horizon은이를 감지하고 자동으로 지원을 활성화합니다.
- cinder : 블록 스토리지
- glance : 이미지 관리
- neutron : 네트워킹
- nova : 컴퓨팅
- swift : 오브젝트 스토리지
- Horizon은 플러그인을 통해 다른 많은 OpenStack 서비스도 지원합니다. 자세한 정보는 플러그인 레지스트리를 참조하십시오
설치 및 구성
이 섹션에서는 controller 노드에 대시 보드를 설치하고 구성하는 방법을 설명합니다.
이 섹션에서는 Apache HTTP 서버
및 Memcached
서비스를 사용하여 Identity
서비스를 올바르게 설치, 구성 및 작동한다고 가정합니다.
구성 요소 설치 및 구성
1. 패키지 설치 :
[root@controller ~]# yum install openstack-dashboard
2. /etc/openstack-dashboard/local_settings
파일을 편집하고 다음 조치를 완료하십시오.
controller
노드 에서OpenStack
서비스를 사용하도록 대시 보드를 구성하십시오 .
OPENSTACK_HOST = "controller"
- 서비스 컨텍스트 경로 설정
다른버전에는 기본적으로 설정되어있는데 Train버전은 버그로 인해 아래 내용이 빠져있으므로 반드시 확인하고 추가해준다.
WEBROOT = '/dashboard/'
- 호스트가 대시 보드에 액세스하도록 허용합니다.
ALLOWED_HOSTS = ['one.example.com', 'two.example.com']
ALLOWED_HOSTS
는 모든 호스트를 승인하기 위해 ['*']
로 설정 할 수도 있습니다. 이것은 개발 작업에 유용 할 수 있지만 잠재적으로 안전하지 않으므로 프로덕션에 사용해서는 안됩니다.
자세한 내용은 https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts 를 참조 하십시오.
memcached
세션 저장소 서비스를 구성합니다 .
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': 'controller:11211', } }
나머지 다른 세션 저장소 구성을 주석 처리하십시오.
Identity API 버전 3
을 활성화합니다.
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
- 도메인 지원 활성화 :
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
- API 버전 구성 :
OPENSTACK_API_VERSIONS = { "identity": 3, "image": 2, "volume": 3, }
- 대시보드의 기본 도메인을
Default
도메인으로 구성 합니다.
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
- 대시보드의 기본 사용자 역할을
user
역할로 구성 합니다.
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
- 네트워킹 옵션 1을 선택한 경우 레이어 3 네트워킹 서비스에 대한 지원을 비활성화합니다.
OPENSTACK_NEUTRON_NETWORK = { ... 'enable_router': False, 'enable_quotas': False, 'enable_distributed_router': False, 'enable_ha_router': False, 'enable_lb': False, 'enable_firewall': False, 'enable_vpn': False, 'enable_fip_topology_check': False, }
- 네트워킹 옵션 2를 선택한 경우는 아래와 같이 설정합니다.
OPENSTACK_NEUTRON_NETWORK = { 'enable_auto_allocated_network': False, 'enable_ipv6': True, 'enable_rbac_policy': True, 'enable_router': True, 'enable_quotas': True, 'enable_distributed_router': True, 'enable_ha_router': True, 'enable_lb': True, 'enable_firewall': True, 'enable_vpn': True, 'enable_fip_topology_check': True, 'default_dns_nameservers': [], 'supported_provider_types': ['*'], 'segmentation_id_range': {}, 'extra_provider_types': {}, 'supported_vnic_types': ['*'], 'physical_networks': [], }
- 선택적 시간대를 구성하십시오.
TIME_ZONE = "TIME_ZONE"
TIME_ZONE
을 적절한 시간대 식별자로 바꿉니다. (대한민국의 경우 Asia/Seoul
)
3. /etc/httpd/conf.d/openstack-dashboard.conf
에 WSGIApplicationGroup %{GLOBAL}
내용이 포함되지 않은 경우 추가하십시오 .
[root@controller ~]# vi /etc/httpd/conf.d/openstack-dashboard.conf WSGIDaemonProcess dashboard WSGIProcessGroup dashboard WSGISocketPrefix run/wsgi WSGIApplicationGroup %{GLOBAL} ### 이부분이 있는지 필히 확인!!! WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi Alias /dashboard/static /usr/share/openstack-dashboard/static <Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi> Options All AllowOverride All Require all granted </Directory> <Directory /usr/share/openstack-dashboard/static> Options All AllowOverride All Require all granted </Directory>
설치 완료
웹 서버 및 세션 저장소 서비스를 다시 시작합니다.
[root@controller ~]# systemctl restart httpd.service memcached.service