You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
3.9 KiB
158 lines
3.9 KiB
3 weeks ago
|
# 使用PackStack安装OpenStack 单节点
|
||
|
## 环境准备
|
||
|
- 关闭相关服务
|
||
|
|
||
|
所有节点填写网络映射
|
||
|
```
|
||
|
echo "192.168.64.10 controller" >> /etc/hosts
|
||
|
```
|
||
|
所有节点永久关闭 selinux,永久关闭 firewalld,永久关闭 NetworkManager
|
||
|
```
|
||
|
systemctl stop firewalld; systemctl disable firewalld
|
||
|
systemctl stop NetworkManager; systemctl disable NetworkManager
|
||
|
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
|
||
|
reboot
|
||
|
```
|
||
|
- 配置yum
|
||
|
|
||
|
清空yum源
|
||
|
|
||
|
```
|
||
|
mv /etc/yum.repos.d/* /tmp/
|
||
|
```
|
||
|
在controller节点挂载本地源
|
||
|
```
|
||
|
[root@controller ~]$ mkdir -p /opt/{centos,extras,openstack}
|
||
|
|
||
|
[root@controller ~]$ mount -o loop /root/centos7-1804.iso /mnt/
|
||
|
[root@controller ~]$ cp -rvf /mnt/* /opt/centos/
|
||
|
[root@controller ~]$ umount /mnt/
|
||
|
|
||
|
[root@controller ~]$ mount -o loop /root/RHEL7-extras.iso /mnt/
|
||
|
[root@controller ~]$ cp -rvf /mnt/* /opt/extras/
|
||
|
[root@controller ~]$ umount /mnt/
|
||
|
|
||
|
[root@controller ~]$ mount -o loop /root/RHEL7OSP-10.iso /mnt/
|
||
|
[root@controller ~]$ cp -rvf /mnt/* /opt/openstack/
|
||
|
[root@controller ~]$ umount /mnt/
|
||
|
```
|
||
|
在controller节点编写本地源
|
||
|
```
|
||
|
[root@controller ~]$ vi /etc/yum.repos.d/local.repo
|
||
|
[centos]
|
||
|
name=centos
|
||
|
baseurl=file:///opt/centos/
|
||
|
gpgcheck=0
|
||
|
enabled=1
|
||
|
|
||
|
[extras]
|
||
|
name=extras
|
||
|
baseurl=file:///opt/extras/
|
||
|
gpgcheck=0
|
||
|
enabled=1
|
||
|
|
||
|
[openstack]
|
||
|
name=openstack-10
|
||
|
baseurl=file:///opt/openstack/rhel-7-server-openstack-10-rpms/
|
||
|
gpgcheck=0
|
||
|
enabled=1
|
||
|
|
||
|
[openstack-devtool]
|
||
|
name=openstack-10-devtools
|
||
|
baseurl=file:///opt/openstack/rhel-7-server-openstack-10-devtools-rpms/
|
||
|
gpgcheck=0
|
||
|
enabled=1
|
||
|
```
|
||
|
- 需要安装的依赖包
|
||
|
|
||
|
qemu-kvm -> 硬件仿真 -> compute节点
|
||
|
|
||
|
libvirt-daemon -> 后台管理进程,管理硬件仿真 -> compute节点
|
||
|
|
||
|
libvirt-daemon-driver-qemu -> 驱动程序 -> compute节点
|
||
|
|
||
|
libvirt-client -> 后台管理的接口 -> compute节点
|
||
|
|
||
|
python-setuptools -> Python -> controller节点
|
||
|
|
||
|
节点安装依赖
|
||
|
|
||
|
```
|
||
|
yum -y install qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptool
|
||
|
```
|
||
|
|
||
|
- 检查基础环境
|
||
|
|
||
|
是否禁用 firewalld 和 NetworkManager
|
||
|
|
||
|
是否为静态 IP
|
||
|
|
||
|
主机之间是否能 ping 通
|
||
|
|
||
|
依赖包是否是10670
|
||
|
|
||
|
依赖是否安装
|
||
|
|
||
|
```
|
||
|
systemctl start libvirtd
|
||
|
```
|
||
|
|
||
|
NTP是否可用,时间是否同步
|
||
|
|
||
|
检查 /etc/resolv.conf 不能有search开头的行
|
||
|
|
||
|
## 安装 PackStack
|
||
|
|
||
|
- 安装OpenStack需要使用的 PackStack
|
||
|
|
||
|
在 controller节点 安装
|
||
|
|
||
|
#安装PackStack
|
||
|
[root@controller ~]$ yum -y install openstack-packstack
|
||
|
#使用PackStack创建应答文件
|
||
|
[root@controller ~]$ packstack --gen-answer-file=answer.ini
|
||
|
|
||
|
- 修改应答文件
|
||
|
|
||
|
```
|
||
|
sed -i "s#^CONFIG_SWIFT_INSTALL=.*#CONFIG_SWIFT_INSTALL=n#g" answer.ini
|
||
|
sed -i "s#^CON:FIG_CEILOMETER_INSTALL=.*#CONFIG_CEILOMETER_INSTALL=n#g" answer.ini
|
||
|
sed -i "s#^CONFIG_AODH_INSTALL=.*#CONFIG_AODH_INSTALL=n#g" answer.ini
|
||
|
sed -i "s#^CONFIG_GNOCCHI_INSTALL=.*#CONFIG_GNOCCHI_INSTALL=n#g" answer.ini
|
||
|
sed -i "s#^CONFIG_NTP_SERVERS=.*#CONFIG_NTP_SERVERS=time1.aliyun.com#g" answer.ini
|
||
|
sed -i "s#^CONFIG_COMPUTE_HOSTS=.*#CONFIG_COMPUTE_HOSTS=192.168.105.10#g" answer.ini
|
||
|
sed -i "s#^CONFIG_NETWORK_HOSTS=.*#CONFIG_NETWORK_HOSTS=192.168.105.10#g" answer.ini
|
||
|
sed -i "s#^CONFIG_KEYSTONE_ADMIN_PW=.*#CONFIG_KEYSTONE_ADMIN_PW=123456#g" answer.ini
|
||
|
sed -i "s#^CONFIG_NEUTRON_ML2_TYPE_DRIVERS=.*#CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan#g" answer.ini
|
||
|
sed -i "s#^CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=.*#CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex#g" answer.ini
|
||
|
sed -i "s#^CONFIG_NEUTRON_OVS_BRIDGE_IFACES=.*#CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens33#g" answer.ini
|
||
|
sed -i "s#^CONFIG_PROVISION_DEMO=.*#CONFIG_PROVISION_DEMO=n#g" answer.ini
|
||
|
```
|
||
|
|
||
|
- 安装
|
||
|
|
||
|
```
|
||
|
[root@controller ~]$ packstack --answer-file=answer.ini
|
||
|
```
|
||
|
|
||
|
- 验证安装是否成功
|
||
|
|
||
|
配置Dashboard
|
||
|
|
||
|
```
|
||
|
[root@controller ~]$ vi /etc/httpd/conf.d/15-horizon_vhost.conf
|
||
|
#在 WSGIProcessGroup apache 下面 插入一行
|
||
|
WSGIApplicationGroup %{GLOBAL}
|
||
|
|
||
|
[root@controller ~]$ systemctl reload httpd
|
||
|
```
|
||
|
|
||
|
|
||
|
验证登录 OpenStack dashboard
|
||
|
|
||
|
http://192.168.105.10/dashboard
|
||
|
|
||
|
用户名:admin
|
||
|
|
||
|
密码:123456
|