Stein 오픈스택 클라우드 서버 구축(7) - 네트워크 서비스 (Neutron) 설치 및 구성
blog post
이번 포스팅에서는 VM의 네트워킹 서비스를 제공하는 Neutron 서비스를 구축해보도록 하겠습니다. 특히 이번 과정에서는 앞서 구성 개요 포스트에서 말씀드린 것과 같이 VM의 네트워크 트래픽 처리를 전담하는 별도의 노드(이하 네트워크 노드)를 구성할 계획입니다. 별도 노드 없이 개별 컴퓨트 노드에서 vm 네트워크 트래픽을 자체적으로 처리하는 구성도 추후에 따로 다루도록 하겠습니다.
본 포스팅을 통해 다음과 같은 서비스를 최종적으로 구성해 보도록 하겠습니다.
이번 네트워크 서비스를 구성하는 과정에서 위와 같이 총 3개의 노드가 구축됩니다. 기본적인 네트워킹 기능은 Neutron을 통해 제공되며, VM이 Neutron을 통해 네트워킹 서비스를 활용할 수 있어야 하므로 Nova 서비스와 상호작용 합니다.
또한 오픈스택 호스트 시스템에서 l2 스위치 서비스로서, 본 과정에서는 openvswitch를 중심으로 진행합니다. 물론 경우에 따라서 linuxbridge 서비스로 대체할 수 있습니다. 두 스위치 에이전트 타입 모두 오픈스택의 l2 기반 네트워크 구성에 필요한 대부분의 기능을 제공하기 때문에 기능상의 큰 차이는 없으나, 관리자 입장에서 openvswitch 나 linuxbridge의 커맨드에 대한 친숙도에 따라 선택적으로 진행하실 것을 추천드립니다. 두 에이전트의 커맨드를 사용하는 방식이 완전히 다르기 때문입니다. 결과적으로 추후에 모든 오픈스택 시스템을 구축 완료한 후에 에이전트 타입을 다시 바꾸는 과정이 쉽지 않기 때문에 본 구축 과정을 통해 확실히 스위치 에이전트 타입을 결정하고 진행하시길 바랍니다.
다음 과정에서 컨트롤러, 컴퓨트, 네트워크 노드 별로 구성하도록 하겠습니다.
앞서 구성한 Nova 서비스와 마찬가지로 Neutron 서비스 역시 컨트롤러 노드에서는 전체 네트워크 정보, 메타데이터 등을 관리하는 서버역할을 담당합니다. 다음 과정을 컨트롤러 노드에서 진행합니다.
다음과 같이 Neutron 서비스에 대하여 사용자, 역할 등을 추가합니다.
# 사용자로서 neutron을 추가합니다. servicepassword 부분은 본인이 원하는 패스워드로 변경.
[root@Controller ~]# openstack user create --domain default --project service --password servicepassword neutron
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| default_project_id | 8d3e3541755f454f84dafacd37b4303c |
| domain_id | default |
| enabled | True |
| id | 4250b123569f460d84061fd3c7ae476e |
| name | neutron |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
# 방금 추가한 사용자 neutron에 관리자(admin)역할을 부여합니다.
[root@Controller ~]# openstack role add --project service --user neutron admin
# 사용자 neutron을 서비스 엔트리에 저장합니다.
[root@Controller ~]# openstack service create --name neutron --description "OpenStack Networking service" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking service |
| enabled | True |
| id | c2f7a49a68e74c078851f2767d668227 |
| name | neutron |
| type | network |
+-------------+----------------------------------+
# keystone의 호스트(즉 컨트롤러 노드의 통신용ip)를 환경변수로 지정합니다.
[root@Controller ~]# export controller=10.0.0.26
# neutron 서비스의 endpoint를 추가합니다. (public)
[root@Controller ~]# openstack endpoint create --region RegionOne network public http://$controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | d785220b47834b6e9165897f617c4c86 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | c2f7a49a68e74c078851f2767d668227 |
| service_name | neutron |
| service_type | network |
| url | http://10.0.0.26:9696 |
+--------------+----------------------------------+
# neutron 서비스의 endpoint를 추가합니다. (internal)
[root@Controller ~]# openstack endpoint create --region RegionOne network internal http://$controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 0f1348ceb0274e0d8e11470e56676330 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | c2f7a49a68e74c078851f2767d668227 |
| service_name | neutron |
| service_type | network |
| url | http://10.0.0.26:9696 |
+--------------+----------------------------------+
# neutron 서비스의 endpoint를 추가합니다. (admin)
[root@Controller ~]# openstack endpoint create --region RegionOne network admin http://$controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | fd01482049d0427592de8c985a0aa443 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | c2f7a49a68e74c078851f2767d668227 |
| service_name | neutron |
| service_type | network |
| url | http://10.0.0.26:9696 |
+--------------+----------------------------------+
다음과 같이 Neutron DB를 생성합니다.
[root@Controller ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.3.10-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 아래 password에 본인이 원하는 패스워드로 대체하여 입력합니다.
MariaDB [(none)]> create database neutron_ml2;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on neutron_ml2.* to neutron@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on neutron_ml2.* to neutron@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
Neutron 서버 구성에 필요한 서비스를 설치합니다.
[root@Controller ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-neutron openstack-neutron-ml2
neutron.conf 파일을 아래와 같이 새로 생성하거나 기존 옵션 파일을 사용하여 옵션 값을 지정해 줍니다.
// 필요한 옵션만 설정하기 위해 기본 neutron.conf 옵션 파일을 백업하고 새로운 옵션 파일을 만듭니다.
// 참고: 만약 기존 neutron 옵션 파일을 그냥 사용하고자 하는 경우에는 아래 mv 작업을 하지 않아도 무관합니다.
[root@Controller ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
[root@Controller ~]# vi /etc/neutron/neutron.conf
// 만약 옵션 파일을 새로 만들 경우에는 아래 옵션 전체를 입력합니다.
// 기존 옵션 파일을 사용하고자 하는 경우에는 옵션을 직접 찾아서 아래 값으로 바꿔줍니다.
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
dhcp_agent_notification = True
allow_overlapping_ips = True
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
# 자신의 rabbitmq 관련 정보를 입력합니다 (ip, password 변경)
transport_url = rabbit://openstack:password@10.0.0.26
# Keystone 인증 정보입니다.
# 아래 ip들을 keystone이 세팅된 현재 컨트롤러 노드의 통신용 포트의 ip로 바꾸고 password 부분을 본인의 패스워드로 변경합니다.
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.26:5000
auth_url = http://10.0.0.26:5000
memcached_servers = 10.0.0.26:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword
# 방금 생성한 neutron db 정보입니다. password와 ip에 본인의 구성에 맞게 변경합니다.
[database]
connection = mysql+pymysql://neutron:password@10.0.0.26/neutron_ml2
# nova 서비스 정보입니다.
# ip와 password 부분을 본인의 정보로 변경합니다.
[nova]
auth_url = http://10.0.0.26:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = servicepassword
[oslo_concurrency]
lock_path = $state_path/tmp
위에서 neutron.conf 파일을 새로 생성했을 경우 해당 파일에 대한 권한을 수정합니다.
[root@Controller ~]# chmod 640 /etc/neutron/neutron.conf
[root@Controller ~]# chgrp neutron /etc/neutron/neutron.conf
metatadata_agent.ini 파일에서 아래와 같이 옵션을 설정합니다.
[root@Controller ~]# vi /etc/neutron/metadata_agent.ini
[DEFAULT]
# 아래 정보를 추가합니다.
# Nova API 서버 정보를 명시합니다.
nova_metadata_host = 10.0.0.26
# 메타데이터 프록시에 대한 암호를 metadata_secret으로 지정합니다.
metadata_proxy_shared_secret = metadata_secret
# 아래 옵션의 주석을 해제하고 memcache 서버가 설치된 컨트롤러 노드의 주소로 변경합니다.
memcache_servers = 10.0.0.26:11211
ml2 설정을 진행합니다.
[root@Controller ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 아래 [ml2] 섹션 전체를 본 설정 파일의 가장 하단에 추가합니다.
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch
extension_drivers = port_security
nova.conf 파일에서도 다음과 같이 neutron 관련 옵션을 설정합니다.
[root@Controller ~]# vi /etc/nova/nova.conf
# DEFAULT 섹션에 아래 옵션을 추가해 줍니다.
[DEFAULT]
...
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
# 본 설정 파일 가장 하단에 아래의 [neutron] 섹션 전체를 추가해 줍니다.
# ip 및 servicepassword를 본인이 설정한 neutron 서비스 정보로 바꿔줍니다.
[neutron]
auth_url = http://10.0.0.26:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = servicepassword
service_metadata_proxy = True
metadata_proxy_shared_secret = metadata_secret
Selinux 및 방화벽을 사용하는 경우, 아래와 같이 필요한 서비스 및 포트를 오픈합니다.
[root@Controller ~]# yum --enablerepo=centos-openstack-stein -y install openstack-selinux
[root@Controller ~]# setsebool -P neutron_can_network on
[root@Controller ~]# setsebool -P daemons_enable_cluster_mode on
[root@Controller ~]# firewall-cmd --add-port=9696/tcp --permanent
[root@Controller ~]# firewall-cmd --reload
다음과 같이 Neutron 관련 설정을 DB에 반영하고 서비스를 시작합니다.
[root@Controller ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@Controller ~]# su -s /bin/bash neutron -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head"
[root@Controller ~]# systemctl start neutron-server neutron-metadata-agent
[root@Controller ~]# systemctl enable neutron-server neutron-metadata-agent
[root@Controller ~]# systemctl restart openstack-nova-api
아래 과정을 통해 추후 구축할 가상 네트워크를 구성하기 위한 neutron 서비스를 구성해 줍니다. 다음 작업은 네트워크 노드에서 진행합니다.
다음과 같이 네트워킹에 필요한 서비스들을 설치합니다.
[root@Network ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch libibverbs
Neutron 기본 옵션을 설정합니다.
// 필요한 옵션만 설정하기 위해 기본 neutron 옵션 파일을 백업하고 새로운 옵션 파일을 만듭니다.
// 참고: 만약 기존 neutron 옵션 파일을 그냥 사용하고자 하는 경우에는 아래 mv 작업을 하지 않아도 무관합니다.
[root@Network ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
[root@Network ~]# vi /etc/neutron/neutron.conf
// 만약 옵션 파일을 새로 만들 경우에는 아래 옵션 전체를 입력합니다.
// 기존 옵션 파일을 사용하고자 하는 경우에는 옵션을 직접 찾아서 아래 값으로 바꿔줍니다.
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True
# 자신의 rabbitmq 관련 정보를 입력합니다 (ip, password 변경)
transport_url = rabbit://openstack:password@10.0.0.26
# Keystone 인증 정보입니다.
# 아래 ip들을 keystone이 세팅된 현재 컨트롤러 노드의 통신용 포트의 ip로 바꾸고 password 부분을 본인의 패스워드로 변경합니다.
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.26:5000
auth_url = http://10.0.0.26:5000
memcached_servers = 10.0.0.26:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword
[oslo_concurrency]
lock_path = $state_path/lock
# 앞서 neutron.conf 파일을 새로 생성했을 경우 해당 파일에 대한 권한을 수정합니다.
[root@Network ~]# chmod 640 /etc/neutron/neutron.conf
[root@Network ~]# chgrp neutron /etc/neutron/neutron.conf
l3 agent 옵션을 설정합니다. l3 에이전트는 주로 가상 네트워크에서 라우터의 동작 방식을 정의합니다.
[root@Network ~]# vi /etc/neutron/l3_agent.ini
[DEFAULT]
...
# 아래 옵션을 추가합니다
interface_driver = openvswitch
dhcp 에이전트를 설정합니다.
[root@Network ~]# vi /etc/neutron/dhcp_agent.ini
[DEFAULT]
...
# 아래 옵션을 추가합니다.
interface_driver = openvswitch
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
metadata 에이전트를 설정합니다.
[root@Network ~]# vi /etc/neutron/metadata_agent.ini
[DEFAULT]
#아래 옵션을 추가합니다.
# Nova API 서버 정보를 명시합니다.
nova_metadata_host = 10.0.0.26
# 메타데이터 프록시에 대한 암호를 metadata_secret으로 지정합니다.
metadata_proxy_shared_secret = metadata_secret
# 아래 옵션의 주석을 해제하고 memcache 서버가 설치된 컨트롤러 노드의 주소로 변경합니다.
memcache_servers = 10.0.0.26:11211
ml2 에이전트를 설정합니다.
[root@Network ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 아래 [ml2] 섹션 전체를 본 설정 파일의 가장 하단에 추가합니다.
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch
extension_drivers = port_security
메커니즘 드라이버를 openvswitch로 구성할 계획이므로 openvswitch 설정파일을 지정합니다.
[root@Network ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
# [securitygroup] 섹션을 설정 파일 가장 하단에 추가해 줍니다.
[securitygroup]
firewall_driver = openvswitch
enable_security_group = true
enable_ipset = true
만약 Selinux를 사용중이라면 관련 서비스를 허용합니다.
[root@Network ~]# yum --enablerepo=centos-openstack-stein -y install openstack-selinux
[root@Network ~]# setsebool -P neutron_can_network on
[root@Network ~]# setsebool -P haproxy_connect_any on
[root@Network ~]# setsebool -P daemons_enable_cluster_mode on
[root@Network ~]# vi my-ovsofctl.te
# create new
module my-ovsofctl 1.0;
require {
type neutron_t;
class capability sys_rawio;
}
#============= neutron_t ==============
allow neutron_t self:capability sys_rawio;
[root@network ~]# checkmodule -m -M -o my-ovsofctl.mod my-ovsofctl.te
checkmodule: loading policy configuration from my-ovsofctl.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to my-ovsofctl.mod
[root@Network ~]# semodule_package --outfile my-ovsofctl.pp --module my-ovsofctl.mod
[root@Network ~]# semodule -i my-ovsofctl.pp
서비스를 재시작 합니다.
[root@Network ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@Network ~]# systemctl start openvswitch
[root@Network ~]# systemctl enable openvswitch
[root@Network ~]# ovs-vsctl add-br br-int
[root@Network ~]# for service in dhcp-agent l3-agent metadata-agent openvswitch-agent; do
systemctl start neutron-$service
systemctl enable neutron-$service
done
VM이 네트워크 서비스를 사용하기 위해 컴퓨트 노드에서도 다음 작업을 진행합니다.
다음과 같이 네트워킹 관련 Neutron 서비스를 설치합니다.
[root@Compute0 ~]# yum --enablerepo=centos-openstack-stein,epel -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch
Neutron 서비스 관련 기본 설정을 합니다.
// 필요한 옵션만 설정하기 위해 기본 nova 옵션 파일을 백업하고 새로운 옵션 파일을 만듭니다.
// 참고: 만약 기존 nova 옵션 파일을 그냥 사용하고자 하는 경우에는 아래 mv 작업을 하지 않아도 무관합니다.
[root@Compute0 ~]# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org
[root@Compute0 ~]# vi /etc/neutron/neutron.conf
// 만약 옵션 파일을 새로 만들 경우에는 아래 옵션 전체를 입력합니다.
// 기존 옵션 파일을 사용하고자 하는 경우에는 옵션을 직접 찾아서 아래 값으로 바꿔줍니다.
[DEFAULT]
# 본인의 현재 컨트롤러 노드의 통신용 ip로 입력
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True
# 자신의 rabbitmq 관련 정보를 입력합니다 (ip, password 변경)
transport_url = rabbit://openstack:password@10.0.0.26
# Keystone 인증 정보입니다.
# 아래 ip들을 keystone이 세팅된 현재 컨트롤러 노드의 통신용 포트의 ip로 바꾸고 password 부분을 본인의 패스워드로 변경합니다.
[keystone_authtoken]
www_authenticate_uri = http://10.0.0.26:5000
auth_url = http://10.0.0.26:5000
memcached_servers = 10.0.0.26:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword
[oslo_concurrency]
lock_path = $state_path/lock
# 앞서 neutron.conf 파일을 새로 생성했을 경우 해당 파일에 대한 권한을 수정합니다.
[root@Compute0 ~]# chmod 640 /etc/neutron/neutron.conf
[root@Compute0 ~]# chgrp neutron /etc/neutron/neutron.conf
ml2 에이전트 기본 설정을 진행합니다.
[root@Compute0 ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
# 아래 [ml2] 섹션 전체를 본 설정 파일의 가장 하단에 추가합니다.
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch
extension_drivers = port_security
메커니즘 드라이버로 openvswitch 옵션을 설정합니다.
[root@Compute0 ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
# [securitygroup] 섹션을 설정 파일 가장 하단에 추가해 줍니다.
[securitygroup]
firewall_driver = openvswitch
enable_security_group = true
enable_ipset = true
컴퓨트 노드에서는 Nova 서비스에서도 네트워킹 관련 옵션을 설정합니다.
[root@Compute0 ~]# vi /etc/nova/nova.conf
# Default 섹션에서 다음 옵션을 추가/변경합니다.
[DEFAULT]
...
use_neutron = True
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
vif_plugging_is_fatal = True
vif_plugging_timeout = 300
# 본 설정 파일 가장 하단에 아래의 [neutron] 섹션 전체를 추가해 줍니다.
# ip 및 servicepassword를 본인이 설정한 neutron 서비스 정보로 바꿔줍니다.
[neutron]
auth_url = http://10.0.0.26:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = servicepassword
service_metadata_proxy = True
metadata_proxy_shared_secret = metadata_secret
만약 Selinux를 사용한다면 아래와 같이 관련 서비스를 허용합니다.
[root@Compute0 ~]# yum --enablerepo=centos-openstack-stein -y install openstack-selinux
[root@Compute0 ~]# setsebool -P neutron_can_network on
[root@Compute0 ~]# setsebool -P daemons_enable_cluster_mode on
[root@Compute0 ~]# vi my-ovsofctl.te
# create new
module my-ovsofctl 1.0;
require {
type neutron_t;
class capability sys_rawio;
}
#============= neutron_t ==============
allow neutron_t self:capability sys_rawio;
[root@Compute0 ~]# checkmodule -m -M -o my-ovsofctl.mod my-ovsofctl.te
checkmodule: loading policy configuration from my-ovsofctl.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to my-ovsofctl.mod
[root@Compute0 ~]# semodule_package --outfile my-ovsofctl.pp --module my-ovsofctl.mod
[root@Compute0 ~]# semodule -i my-ovsofctl.pp
다음과 같이 서비스를 재시작 합니다.
[root@Compute0 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@Compute0 ~]# systemctl start openvswitch
[root@Compute0 ~]# systemctl enable openvswitch
[root@Compute0 ~]# ovs-vsctl add-br br-int
[root@Compute0 ~]# systemctl restart openstack-nova-compute
[root@Compute0 ~]# systemctl start neutron-openvswitch-agent
[root@Compute0 ~]# systemctl enable neutron-openvswitch-agent
여기까지 기본적인 네트워킹 관련 서비스 구축을 마쳤습니다. 추가로 이제 실제 VM이 사용할 테넌트의 네트워크를 설정해야 합니다. 관련 구성은 다음 포스트에서 진행하도록 하겠습니다.
'Cloud > Building up Openstack' 카테고리의 다른 글
Stein 오픈스택 클라우드 서버 구축(12) - NFS,LVM 기반 다중 블록 스토리지 노드 구성하기 (Feat. GlusterFS, GFS) (0) | 2020.04.13 |
---|---|
Stein 오픈스택 클라우드 서버 구축(11) - LVM으로 블록 스토리지 백엔드 구성하기 (0) | 2020.04.12 |
Stein 오픈스택 클라우드 서버 구축(10) - 블록 스토리지 노드 및 Cinder 서비스 구성 (0) | 2020.04.10 |
Stein 오픈스택 클라우드 서버 구축(9) - 대시보드 서비스(Horizon) 구축 및 대시보드 기본 구조 (0) | 2020.02.11 |
Stein 오픈스택 클라우드 서버 구축(8) - 테넌트 네트워크 환경 구축 (0) | 2020.02.11 |
Stein 오픈스택 클라우드 서버 구축(6) - 컴퓨트 서비스 (Nova) 설치 및 구성 (0) | 2020.01.31 |
Stein 오픈스택 클라우드 서버 구축(5) - 이미지 서비스 (Glance) 설치 및 구성 (0) | 2020.01.30 |
Stein 오픈스택 클라우드 서버 구축(4) - 인증 서비스 (Keystone) 설치 및 구성 (2) | 2020.01.28 |
Stein 오픈스택 클라우드 서버 구축(3) - 오픈스택 기본 패키지 설치 (update 2020.01.28) (1) | 2020.01.28 |
Stein 오픈스택 클라우드 서버 구축(2) - 시스템 구성 (update 2020.01.28) (0) | 2018.01.25 |