OpenStack部署方式不少,常見的我的部署方式有DevStack、Rdo、all-in-one、multi-node、multi-HA-node等;企業部署方式有Ansible、SaltStack、Puppet、TripleO、Kolla、Fuel等。其中DevStack是衆多開發者們的首選安裝方式或工具,該方式主要是經過配置參數,執行shell腳原本安裝一個OpenStack的開發環境。html
OpenStack開源社區每一年都會開兩次設計峯會(Design Summit),發佈兩個正式版本。從2010年的首個版本至今,一共已經出了18個版本,每一個版本都有獨立名字,取自當次設計峯會所在城市中選一個地名,並且從A開始,而後B、C……。最新的版本是Rocky,字母R正好排序第18位。本文部署的版本爲Pike。html5
本文OpenStack的控制節點和計算節點都是Esxi上新建的虛機,具體配置以下:
node
控制節點配置:python
計算節點配置:linux
ubuntu安裝詳見:Ubuntu16.04.5以lvm方式安裝全記錄git
控制節點和計算節點安裝步驟相同,只是第6步中的配置不一樣,實際安裝過程當中應先裝控制節點再裝計算節點,本文以計算節點安裝爲例記錄搭建過程。github
1.pip安裝web
root@openstack-computer:~# pip The program 'pip' is currently not installed. You can install it by typing: apt install python-pip root@openstack-computer:~# apt install -y python-pip
2.代碼下載shell
root@openstack-computer:~# git clone https://git.openstack.org/openstack-dev/devstack -b stable/pike
本文的安裝版本爲pike
ubuntu
3.建立用戶stack
root@openstack-computer:~# ll total 36 drwx------ 4 root root 4096 Nov 29 17:02 ./ drwxr-xr-x 23 root root 4096 Nov 29 16:32 ../ -rw------- 1 root root 49 Nov 29 16:47 .bash_history -rw-r--r-- 1 root root 3106 Oct 23 2015 .bashrc drwx------ 2 root root 4096 Nov 29 16:47 .cache/ drwxr-xr-x 17 root root 4096 Nov 29 17:02 devstack/ -rw-r--r-- 1 root root 148 Aug 17 2015 .profile -rw------- 1 root root 3413 Nov 29 16:51 .viminfo -rw------- 1 root root 128 Nov 29 16:47 .Xauthority root@openstack-computer:~# devstack/tools/create-stack-user.sh Creating a group called stack Creating a user called stack Giving stack user passwordless sudo privileges
4.修改pip源
root用戶修改pip源
root@openstack-computer:~# mkdir ~/.pip root@openstack-computer:~# view ~/.pip/pip.conf [global] trusted-host=mirrors.aliyun.com index-url=https://mirrors.aliyun.com/pypi/simple/
stack用戶修改pip源
root@openstack-computer:~# su - stack stack@openstack-computer:~$ mkdir ~/.pip stack@openstack-computer:~$ view ~/.pip/pip.conf [global] trusted-host=mirrors.aliyun.com index-url=https://mirrors.aliyun.com/pypi/simple/
5.移動devstack目錄
將devstack目錄由root的家目錄移至/opt/stack
root@openstack-computer:~# mv devstack /opt/stack root@openstack-computer:~# chown -R stack:stack /opt/stack/devstack
6.新建配置文件
控制節點:
[[local|localrc]] MULTI_HOST=true # management & api network HOST_IP=172.27.34.37 LOGFILE=/opt/stack/logs/stack.sh.log # Credentials ADMIN_PASSWORD=admin MYSQL_PASSWORD=loong576 RABBIT_PASSWORD=loong576 SERVICE_PASSWORD=loong576 SERVICE_TOKEN=loong576 # enable neutron-ml2-vlan disable_service n-net # Enable LBaaS v2 enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas stable/pike enable_plugin octavia https://git.openstack.org/openstack/octavia stable/pike enable_plugin neutron-lbaas-dashboard https://git.openstack.org/openstack/neutron-lbaas-dashboard stable/pike # enable FWaaS v2 enable_plugin neutron-fwaas https://git.openstack.org/openstack/neutron-fwaas stable/pike enable_plugin neutron-fwaas-dashboard https://git.openstack.org/openstack/neutron-fwaas-dashboard stable/pike enable_service q-lbaasv2,octavia,o-cw,o-hk,o-hm,o-api,q-***,q-fwaas-v2,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron Q_AGENT=linuxbridge ENABLE_TENANT_VLANS=True TENANT_VLAN_RANGE=3001:4000 PHYSICAL_NETWORK=default # logging LOG_COLOR=True LOGDIR=$DEST/logs SCREEN_LOGDIR=$LOGDIR/screen # use TryStack git mirror GIT_BASE=http://git.trystack.cn NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
控制節點ip爲:172.27.34.37,admin密碼爲admin,後面web登錄會用到。q-***星號爲v and p and n
計算節點:
stack@openstack-computer:~$ more /opt/stack/devstack/local.conf [[local|localrc]] MULTI_HOST=true # management & api network HOST_IP=172.27.34.38 # Credentials ADMIN_PASSWORD=admin MYSQL_PASSWORD=loong576 RABBIT_PASSWORD=loong576 SERVICE_PASSWORD=loong576 SERVICE_TOKEN=loong576 # Service information SERVICE_HOST=172.27.34.37 MYSQL_HOST=$SERVICE_HOST RABBIT_HOST=$SERVICE_HOST GLANCE_HOSTPORT=$SERVICE_HOST:9292 Q_HOST=$SERVICE_HOST KEYSTONE_AUTH_HOST=$SERVICE_HOST KEYSTONE_SERVICE_HOST=$SERVICE_HOST ENABLED_SERVICES=n-cpu,q-agt,neutron Q_AGENT=linuxbridge ENABLE_TENANT_VLANS=True TENANT_VLAN_RANGE=3001:4000 PHYSICAL_NETWORK=default # vnc config NOVA_VNC_ENABLED=True NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html" VNCSERVER_LISTEN=$HOST_IP VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN # Logging LOG_COLOR=True LOGDIR=$DEST/logs SCREEN_LOGDIR=$LOGDIR/screen # use TryStack git mirror GIT_BASE=http://git.trystack.cn NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git enable_service placement-api
HOST_IP=172.27.34.38爲計算節點ip
本文中參數Q_AGENT配置爲linuxbridge,表示網絡選擇爲Linux Bridge方式,若是選擇Open vSwitch,則Q_AGENT=openvswitch。
7.部署openstack
stack@openstack-computer:~/devstack$ ./stack.sh
控制節點安裝完成:
計算節點安裝完成:
8.登錄web
地址爲:http://172.27.34.37,用戶名密碼爲配置文件中的admin/admin
至此完成OpenStack安裝。
9.卸載
若修改了local.conf則需先卸載再從新安裝
卸載命令
stack@openstack-controller:~/devstack$ ./unstack.sh stack@openstack-controller:~/devstack$ ./clean.sh
搭建腳本已上傳github:https://github.com/loong576/openstack-devstack.git
本文參考:
https://docs.openstack.org/devstack/latest/guides/devstack-with-lbaas-v2.html
https://docs.openstack.org/neutron-fwaas-dashboard/latest/contributor/devstack-plugin.html