commit 3a17a4d871c08c6d8f6f4aba65de66eda09c2498 Author: chengda Date: Tue Sep 3 10:56:44 2024 +0800 packstack 安装 openstack 单节点 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e6c7783 --- /dev/null +++ b/README.md @@ -0,0 +1,157 @@ +# 使用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