1、创建虚拟机
内存建议16GB
CPU(处理器)双核且支持虚拟化
硬盘不低于200GB
链接:https://pan.baidu.com/s/1XI_EVj4ASED_83H1U-lHdQ
提取码:yqr5
复制这段内容后打开百度网盘手机App,操作更方便哦
NetworkManager与OpenStack网络组件Neutron冲突,所以停用它,改用传统的网络服务network来管理网络。
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl enable network
systemctl start network
为方便测试,应关闭防火墙与SELinux
systemctl disable firewalld
systemctl stop firewalld
setenforce 0
vi /etc/selinux/config
虚拟机的IP地址应该为静态地址,此实例中虚拟机网络使用NAT,网卡配置文件如下:
cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none #(这个是表示你使用什么样的路由协议,有三种不同写法,如果是none和static表示你用的是静态路由,那么你在接下来的项目里就必须填写IPADDR、NETMASK、GATEWAY这三个选项。如果是dhcp表示你使用动态路由协议,那IPADDR、NETMASK、GATEWAY这些选项就可以不必填写。如果填写了,就以你填写的值为准)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b3ec17d2-064a-4d4a-a3af-6e79abe50597 #UUID做到系统中独一无二
DEVICE=ens33 #网卡名
ONBOOT=yes #启动这个网卡的开关
IPADDR=172.16.70.144 #IP地址
PREFIX=24 #子网掩码
GATEWAY=172.16.70.2 #网关
DNS=223.5.5.5 #DNS域名解析器
此处将主机名设置为node-a,一旦更改主机名,必须将新的主机名追加到/etc/hosts文件中:
hostnamectl set-hostname node-a
vi /etc/hosts
如果CentOS7安装的是非英语版本,那么在/etc/environment文件中添加以下定义
LANG=en_US.uft-8
LC_ALL=en_US.utf-8
整个OpenStack环境中所有节点的时间必须上同步的,在CentOS中一般使用chrony软件来进行时间同步。由于此例为all-in-one部署,只有一台服务器,所以此步可省略。
CentOS系统安装后默认的repo文件能支持OpenStack库,但由于是国外软件仓库,速度比较慢,所以推荐使用国内yum源。
1、配置yum仓库
(1)基础软件仓库
所有节点,首先删除或备份系统中原有repo文件,然后下载阿里云或网易centos镜像到本地,以163源为例。
rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/centos7.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
或者
curl centos7.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo >> /etcyum.repos.d/test.repo
(2)Openstack软件仓库新增一个openstack.repo文件
在该文件内部添加queens版本源及kvm源。
由于OpenStack从Pike版本开始,openstack-nova-compute组件的安装依赖的qemu-kvm版本不能低于2.9.0,而CentOS7现有的软件库不能提供qemu-kvm较新版本的安装。所以此处需新增kvm软件库来提供支持。
vi /etc/yum.repos.d/openstack.repo
[queens]
name=queens
baseurl=http://mirrors.163.com/centos/7/cloud/x86_64/openstack-queens/
enabled=1
gpgcheck=0
[kvm]
name=kvm
baseurl=http://mirrors.163.com/centos/7/virt/x86_64/kvm-common/
enabled=1
gpgcheck=0
(3)生成yum缓存
yum clean all
yum makecache
2、更新qemu-kvm软件
(1)查看当前qemu-kvm软件版本
rpm -qa | grep kvm
如果这里没查到可以直接
yum install -y kvm*
yum install -y qemu*
下载没用的话可以试一下
yum install -y qemu-kvm*
(2)更新软件
已是新版请忽略
yum update qemu*
rpm -qa | grep kvm
yum install -y openstack-packstack
安装过程如下:(耗时大概25分钟,具体时间与网速及性能相关)
packstack --allinone
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
# 设置SSH密钥
Setting up ssh keys [ DONE ]
# 准备服务器
Preparing servers [ DONE ]
# 安装Puppet和探测主机详情之前
Pre installing Puppet and discovering hosts' details [ DONE ]
# 准备预装的项目
Preparing pre-install entries [ DONE ]
# 设置证书
Setting up CACERT [ DONE ]
# 准备AMQP(高级消息队列协议)项目
Preparing AMQP entries [ DONE ]
# 准备MariaDB(现已代替MySQL)数据库项目
Preparing MariaDB entries [ DONE ]
# 修正Keystone LDAP参数
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
# 准备Keystone(认证服务)项目
Preparing Keystone entries [ DONE ]
# 准备Glance(镜像服务)项目
Preparing Glance entries [ DONE ]
# 检查Cinder(卷存储服务)是否有卷
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
# 准备Cinder(卷存储服务)项目
Preparing Cinder entries [ DONE ]
# 准备Nova API(Nova对外接口)项目
Preparing Nova API entries [ DONE ]
# 为Nova迁移创建SSH密钥
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
# 准备Nova Compute(计算服务)项目
Preparing Nova Compute entries [ DONE ]
# 准备Nova Scheduler(调度服务)项目
Preparing Nova Scheduler entries [ DONE ]
# 准备Nova VNC(虚拟网络控制台)代理项目
Preparing Nova VNC Proxy entries [ DONE ]
# 准备OpenStack与网络相关的Nova项目
Preparing OpenStack Network-related Nova entries [ DONE ]
# 准备Nova通用项目
Preparing Nova Common entries [ DONE ]
# 以下准备Neutron(网络组件)项目
Preparing Neutron LBaaS Agent entries [ DONE ]
Preparing Neutron API entries [ DONE ]
Preparing Neutron L3 entries [ DONE ]
Preparing Neutron L2 Agent entries [ DONE ]
Preparing Neutron DHCP Agent entries [ DONE ]
Preparing Neutron Metering Agent entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
# 准备OpenStack客户端项目
Preparing OpenStack Client entries [ DONE ]
# 准备Horizon仪表板项目
Preparing Horizon entries [ DONE ]
# 以下准备Swift(对象存储)项目
Preparing Swift builder entries [ DONE ]
Preparing Swift proxy entries [ DONE ]
Preparing Swift storage entries [ DONE ]
# 准备Gnocchi(用于计费的时间序列数据库作为服务)项目
Preparing Gnocchi entries [ DONE ]
# 准备Redis(用于计费的数据结构服务器)项目
Preparing Redis entries [ DONE ]
# 准备Ceilometer(计费服务)项目
Preparing Ceilometer entries [ DONE ]
# 准备Aodh(警告)项目
Preparing Aodh entries [ DONE ]
# 准备Puppet模块和配置清单
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
# 应用控制节点(测试时可能需要较长时间)
Applying 192.168.199.21_controller.pp
192.168.199.21_controller.pp: [ DONE ]
# 应用网络节点(测试时可能需要较长时间)
Applying 192.168.199.21_network.pp
192.168.199.21_network.pp: [ DONE ]
# 应用计算节点(测试时可能需要较长时间)
Applying 192.168.199.21_compute.pp
192.168.199.21_compute.pp: [ DONE ]
# 应用Puppet配置清单
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
# 安装成功完成应用并给出其他提示信息
**** Installation completed successfully ******
Additional information:
# 执行命令产生的应答文件
* A new answerfile was created in: /root/packstack-answers-20180606-112056.txt
# 未安装时间同步。,需要确认CentOS 7当前的系统时间正确,如果不正确,则需要修改
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
# 在用户主目录下产生keystonerc_admin文件,使用命令行工具需要使用它作为授权凭据
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.199.21. To use the command line tools you need to source the file.
# 访问OpenStack Dashboard(Web访问接口),请使用keystonerc_admin中的登录凭据
* To access the OpenStack Dashboard browse to http://192.168.199.21/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
# 安装日志文件名及其路径
* The installation log file is available at: /var/tmp/packstack/20180606-112055-8r6isW/openstack-setup.log
# Puppet配置清单路径
* The generated manifests are available at: /var/tmp/packstack/20180606-112055-8r6isW/manifests
通过物理机浏览器访问OpenStack,此例URL为http://172.16.70.181/dashboard,使用默认admin用户登录,admin用户密码存放在CentOS7系统中/root/keystonerc_admin文件下。
cat keystonerc_admin