OpenStack 是一个开源 IaaS 云平台管理项目,由一系列子项目构成。其六个核心项目担当系统的基础架构,用于处理计算、网络、存储、身份和镜像服务。
核心组件及其架构布局如下图所示。
一个有趣的项目必须配上好玩的版本号,OpenStack 的每个主版本系列以字母表顺序(A~Z)命名,以年份及当年内的排序做版本号,这和 Spring Cloud 的伦敦地铁站字母命名法十分相似。
Packstack 是由 Redhat 推出的用于概念验证(PoC)环境快速部署的工具。此类部署工具还有:Fuel、Kolla、TripleO、Packstack、OSA、DevStack 等。
Packstack 是一个命令行工具,它使用 Python 封装了 Puppet 模块,通过 SSH 在服务器上部署 OpenStack。
All-in-One:所有的服务部署到一台服务器上
Multi-Node:控制节点和计算机分离
虚拟机镜像建议使用纯净的 CentOS,可使用下方链接下载,分配内存和 CPU 核数时建议多给一些,至少要分配8G内存给它,否则很可能部署到后面会不成功。
CentOS7(4H16G) http://isoredirect.centos.org/centos/7/isos/x86_64/
PackStack https://www.rdoproject.org/install/packstack/
开启 SSH,方便使用远程虚拟机的方式来配置。
vim /etc/ssh/sshd_config
Port 22
systemctl restart sshd
配置固定IP地址,控制节点最好使用静态 IP,修改下方的 IP、网关、子网掩码和 DNS 即可。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.123.15
NETMASK=255.255.255.0
GATEWAY=192.168.123.1
DNS1=192.168.123.1
DNS2=114.114.114.114
DNS3=223.6.6.6
systemctl restart network
关闭 SELinux,为了防止在安装时遇到问题,建议先关闭 SELinux。
vim /etc/sysconfig/selinux
SELINUX=disabled
reboot
更新软件及系统内核,关闭防火墙重启网络。
su
yum update -y
systemctl disable firewalld
systemctl stop firewalld
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl restart network
选择安装 OpenStack Train 版本,此过程需要一定的时间
yum install -y centos-release-openstack-train
yum update -y
yum install -y openstack-packstack
此过程时间更长,可能需要半个小时及以上,如果遵循以上安装步骤,并使用的是春节的 CentOS 镜像,亲测不会报错。
packstack --allinone
完成后会看到提示 successfully
获取 Dashboard admin 的密钥,使用 admin 环境变量作为当前 Shell 环境下的操作权限。
cat /root/keystonerc_admin
source ./keystonerc_admin
如果对安装步骤还不清楚的,可以参考我上传在B站的视频。