系統版本: Ubuntu Linux 16.04.4
實驗架構圖:
- 安裝前準備:
下載及安裝git、vim: sudo apt install git vim;
因為OpenStack需要下載、安裝及設定大量程式,所以需要設定user 權限:
echo “user ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers; - 下載devstack: (-b 可鎖定版本,安裝版本為queens)
git clone http://git.openstack.org/openstack-dev/devstack -b stable/queens; - 新增及設定local.conf : vim /path/to/devstack/local.conf
-
- Control Node設定
[[local|localrc]] HOST_IP=172.16.0.1 # Control node (local) IP address SERVICE_HOST=$HOST_IP RABBIT_HOST=$HOST_IP DATABASE_HOST=$HOST_IP Q_HOST=$HOST_IP MULTI_HOST=True DATABASE_TYPE=mysql # Log USE_SCREEN=True SCREEN_LOGDIR=/opt/stack/logs/screen LOGFILE=/opt/stack/logs/xstack.sh.log LOGDAYS=1 # Images FORCE_CONFIG_DRIVE=True ADMIN_PASSWORD=openstack # 可修改 DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=$ADMIN_PASSWORD # Services disable_service c-api c-sch c-vol # disable cinder # Branches GLANCE_BRANCH=stable/queens HORIZON_BRANCH=stable/queens KEYSTONE_BRANCH=stable/queens NEUTRON_BRANCH=stable/queens NOVA_BRANCH=stable/queens
-
- Compute Node設定 (以Compute Node 1 為例)
[[local|localrc]]HOST_IP=172.16.0.2 # Compute node (local) IP address SERVICE_HOST=172.16.0.1 # Control node IP address RABBIT_HOST=$SERVICE_HOST DATABASE_HOST=$SERVICE_HOST MYSQL_HOST=$SERVICE_HOST GLANCE_HOSTPORT=$SERVICE_HOST:9292 DATABASE_TYPE=mysql MULTI_HOST=True NOVA_VNC_ENABLED=True NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html" VNCSERVER_LISTEN=$HOST_IP VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN USE_SCREEN=True SCREEN_LOGDIR=/opt/stack/logs/screen LOGFILE=/opt/stack/logs/xstack.sh.log LOGDAYS=1 ADMIN_PASSWORD=openstack DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=$ADMIN_PASSWORD ENABLED_SERVICES=n-cpu,rabbit,q-agt,n-api-meta,placement-client # Branches NOVA_BRANCH=stable/queens KEYSTONE_BRANCH=stable/queens NEUTRON_BRANCH=stable/queens
-
- 執行安裝程序./stack.sh: /path/to/devstack/stack.sh
(先安裝Control node,再安裝Compute node) - Control node執行./discovery_host.sh: /path/to/devstack/tools/discovery_host.sh
讓OpenStack Control Node 註冊所有Compute Node, 不然Compute Node 將會無法建立VM。