文章目录
前言
一:实验环境
1.1:环境介绍
-
VMware软件(我的电脑内存为24G)
-
主机名 内存 硬盘 网卡 系统 ct 7G 300G+1024G VM1:192.168.11.100
NAT:192.168.233.100Centos-7.7 c1 7G 300G+1024G VM1:192.168.11.101 Centos-7.7 c2 7G 300G+1024G VM1:192.168.11.102 Centos-7.7
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
-
登陆网页,测试