OpenStack 部署方式很多, 常见的个人部署方式有 DevStack,Rdo,all-in-one,multi-node,multi-HA-node 等; 企业部署方式有 Ansible,SaltStack,Puppet,TripleO,Kolla,Fuel 等. 其中 DevStack 是众多开发者们的首选安装方式或工具, 该方式主要是通过配置参数, 执行 shell 脚本来安装一个 OpenStack 的开发环境.
OpenStack 开源社区每年都会开两次设计峰会 (Design Summit), 发布两个正式版本. 从 2010 年的首个版本至今, 一共已经出了 18 个版本, 每个版本都有独立名字, 取自当次设计峰会所在城市中选一个地名, 而且从 A 开始, 然后 B,C....... 最新的版本是 Rocky, 字母 R 正好排序第 18 位. 本文部署的版本为 Pike.
本文 OpenStack 的控制节点和计算节点都是 Esxi 上新建的虚机, 具体配置如下:
控制节点配置:
计算节点配置:
虚机操作系统版本为 Ubuntu16.04.5, 安装详见: http://blog.51cto.com/3241766/2323927
控制节点和计算节点安装步骤相同, 只是第 6 步中的配置不同, 实际安装过程中应先装控制节点再装计算节点, 本文以计算节点安装为例记录搭建过程.
1.pip 安装
- 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. 代码下载
root@openstack-computer:~# Git clone https://git.openstack.org/openstack-dev/devstack -b stable/pike
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. 新建配置文件
控制节点:
- stack@openstack-controller:~$ more /opt/stack/devstack/local.conf
- [[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_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas
- 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 登陆会用到
计算节点:
- 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
7. 部署 openstack
stack@openstack-computer:~/devstack$ ./stack.sh
控制节点安装完成:
计算节点安装完成:
登陆 Web
地址为: http://172.27.34.37, 用户名密码为配置文件中的 admin/admin
至此完成 OpenStack 安装.
本文参考: http://cloudman.cc/
来源: http://blog.51cto.com/3241766/2323945