(本地源)OpenStack多节点部署安装,实操演示!!
文章目录
前言
一:实验环境
1.1:环境介绍
- VMware软件(我的电脑内存为24G)
| 主机名 | 内存 | 硬盘 | 网卡 |
|---|---|---|---|
| ct | 7G | 300G+1024G | VM1:192.168.11.100 NAT:192.168.233.100 |
| c1 | 7G | 300G+1024G | VM1:192.168.11.101 |
| c2 | 7G | 300G+1024G | VM1:192.168.11.102 |
1.2:实验拓扑图

1.3:实验目的
- 采用的3个虚拟机节点作为演示环境,演示如何自动化快速搭建一套Rocky版的openstack云平台
二:实验过程
2.1:创建虚拟机并安装系统
- 创建虚拟机很简单,不在赘述,只有控制节点需要一张NAT网卡,其他都是绑定VM1网卡即可

- 安装系统的时候需要注意:(最小化安装,下图是将网卡修改为eth)

2.2:修改三个节点的IP地址
- 修改控制节点IP地址,这个是是双网卡,并添加本地域名解析
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=eth0
UUID=93878b36-7b85-47d6-8f52-51e5adf2e236
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.11.100
NETMASK=255.255.255.0
#GATEWAY=192.168.11.1 '//这里暂时注释,等部署OpenStack的时候在开启,否则无法访问公网'
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=eth1
UUID=e3169c79-441b-425b-b221-8a74693a9c5c
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.233.100
NETMASK=255.255.255.0
GATEWAY=192.168.233.2
[root@ct yum.repos.d]# vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
[root@ct ~]# systemctl restart network '//重启网卡'
- c1和c2修改IP地址相同的操作,不在赘述
2.3:三个节点开局优化
-
使用OpenStack的本地yum源(如有需要资源,可私信)
先上传tar包

'//操作相同,仅展示ct控制节点的操作'
[root@ct opt]# tar zxvf openstack_rocky.tar.gz '//解压到opt目录'
[root@ct opt]# cd /etc/yum.repos.d '//进入yum目录'
[root@ct yum.repos.d]# mkdir backup '//创建备份目录'
[root@ct yum.repos.d]# mv * backup '//将所有的移动到备份目录中'
mv: 无法将目录"backup" 移动至自身的子目录"backup/backup" 下
[root@ct yum.repos.d]# vi local.repo '//重新编辑一个yum本地源文件'
[openstack]
name=openstack
baseurl=file:///opt/openstack_rocky
gpgcheck=0
enabled=1
[mnt]
name=mnt
baseurl=file:///mnt
gpgcheck=0
enabled=1
[root@ct yum.repos.d]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@ct yum.repos.d]# vi /etc/fstab
/dev/sr0 /mnt iso9660 defaults 0 0
[root@ct yum.repos.d]# yum clean all '//清除缓存'
[root@ct yum.repos.d]# yum makecache '//创建缓存'
- 关闭防火墙和核心防护
[root@ct yum.repos.d]# systemctl stop firewalld
[root@ct yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ct yum.repos.d]# setenforce 0
[root@ct yum.repos.d]# vi /etc/sysconfig/selinux
SELINUX=disabled
- 关闭网络管理
[root@ct yum.repos.d]# systemctl stop NetworkManager
[root@ct yum.repos.d]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
- 配置本地主机映射
[root@ct yum.repos.d]# vi /etc/hosts
192.168.11.100 ct
192.168.11.101 c1
192.168.11.102 c2
- 配置时间同步与本地时钟服务
[root@ct yum.repos.d]# yum install ntp ntpdate -y '//c1和c2节点不需要安装ntp'
[root@ct yum.repos.d]# ntpdate ntp.aliyun.com '//c1和c2节点直接同步ct即可'
26 Feb 17:39:38 ntpdate[42996]: adjust time server 203.107.6.88 offset 0.003337 sec
[root@ct yum.repos.d]# crontab -e '//ct计划任务'
*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com >>/var/log/ntpdate.log
[root@c1 yum.repos.d]# crontab -e '//c1和c2设置计划任务'
*/30 * * * * /usr/sbin/ntpdate ct >>/var/log/ntpdate.log
[root@ct yum.repos.d]# vi /etc/ntp.conf '//c1和c2节点不需要配置ntp时钟服务'
restrict default nomodify ###第8行改
restrict 192.168.11.0 mask 255.255.255.0 nomodify notrap ###第17行改
###将21行到24行删除##
21 server 0.centos.pool.ntp.org iburst
22 server 1.centos.pool.ntp.org iburst
23 server 2.centos.pool.ntp.org iburst
24 server 3.centos.pool.ntp.org iburst
###删除的插入下面内容###
fudeg 127.127.1.0 stratum 10
server 127.127.1.0
[root@ct yum.repos.d]# systemctl restart crond '//c1和c2都要做'
[root@ct yum.repos.d]# systemctl enable crond '//c1和c2都要做'
[root@ct yum.repos.d]# systemctl restart ntpd '//c1和c2不做'
[root@ct yum.repos.d]# systemctl enable ntpd '//c1和c2不做'
[root@ct yum.repos.d]# systemctl disable chronyd.service '//取消开机自启,否则ntp开启自启不成功'
- 三台节点建立免密连接,步骤三台节点都要操作,仅展示控制节点的操作
[root@ct yum.repos.d]# ssh-keygen -t rsa '//一路回车即可'
[root@ct yum.repos.d]# ssh-copy-id ct '//交互提示 输入yes 然后输入密码'
[root@ct yum.repos.d]# ssh-copy-id c1
[root@ct yum.repos.d]# ssh-copy-id c2
- 重启,检查刚才的开局配置是否生效
2.4:控制节点Openstack一键环境部署
-
[root@ct ~]# yum -y install openstack-packstack '//安装一键部署工具' [root@ct ~]# packstack --gen-answer-file=openstack.txt '//生成应答文件' [root@ct ~]# vi openstack.txt 41 CONFIG_SWIFT_INSTALL=n '//第41行SWIFT是OpenStack的对象存储组件,默认是Y,在生产环境中一般是不装,所以改n' 50 CONFIG_AODH_INSTALL=n '//第50行,默认是Y 需要改n' 97 CONFIG_COMPUTE_HOSTS=192.168.11.101,192.168.11.102 '//第97行需要更改计算节点的IP地址' 101 CONFIG_NETWORK_HOSTS=192.168.11.100 '//第101行 需要更改网络节点的IP地址' 782 CONFIG_LBAAS_INSTALL=y '//第782行 LBAAS负载均衡组件。必选要装 选y' 790 CONFIG_NEUTRON_FWAAS=y '//第790行 FWAAS是防火墙组件。必选要装 选y' 794 CONFIG_NEUTRON_VPNAAS=y '//第794行 VPNAAS是VPN组件。必选要装 选y' 817 CONFIG_NEUTRON_ML2_FLAT_NETWORKS=physnet1 '//第817行,FLAT网络这边要设置物理网卡名字' 862 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex '//第862行,这边要设置物理网卡的名字' 873 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth1 '//第873行,这边br-ex:eth1是网络节点的nat网卡' 1185 CONFIG_PROVISION_DEMO=n '//第1185行 是OpenStack联网下载一个测试镜像,这边没联网。说以改成n' '//开启之前注释的网关#GATEWAY=192.168.11.1' [root@ct ~]# sed -i -r 's/(.+_PW)=.+/\1=123123/' openstack.txt '//将密码修改为123123' [root@ct ~]# sed -i -r 's/192.168.233.100/192.168.11.100/g' openstack.txt '//将节点变成192.168.11.100' [root@ct ~]# grep -vE "^#|^$" openstack.txt >openstackbak.txt '//备份文件' [root@ct ~]# packstack --answer-file=openstack.txt '//开始部署' -
安装成功的截图

- 查看用户名和密码
[root@ct ~]# ls
anaconda-ks.cfg keystonerc_admin openstackbak.txt openstack.txt
[root@ct ~]# cat keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin '//用户名'
export OS_PASSWORD='123123' '//密码'
export OS_AUTH_URL=http://192.168.11.100:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
- 登陆网页,测试


3122



被折叠的 条评论
为什么被折叠?



