Openstack搭建 (利用工具搭建)

安装准备

搭建Openstack方法:手工搭建、packstack、devstack、ansible
今天采用packstack,准备两台Linux 用的centos 8 stream版本
我这里用的是16G运存,开 2vcpu 4G 两台虚拟机,第一台为控制节点,第二台为计算机点,控制节点也可复用计算机节点

注意:制作模板,方便后期克隆使用

  • 禁用DNS和GSS身份认证(不然远程连接很卡)
    vi /etc/ssh/sshd_config
    UseDNS no
    GSSAPIAuthentication no
    重启服务
    systemctl restart sshd

  • 清除密钥文件
    cd /etc/ssh*
    rm -rf ssh_host_**

  • 清除machine-id
    [root@template ssh]# cat /etc/machine-id
    8cb3785dfcfc4e638c32c535dcce792c
    [root@template ssh]# cat /dev/null > /etc/machine-id
    [root@template ssh]# cat /etc/machine-id

  • 清除网卡配置文件
    *[root@template ssh]# cd /etc/sysconfig/network-scripts/
    [root@template network-scripts]# pwd
    /etc/sysconfig/network-scripts
    [root@template network-scripts]# ls
    ifcfg-ens33
    [root@template network-scripts]# vi ifcfg-ens33
    [root@template network-scripts]# cat ifcfg-ens33
    保留下面这部分
    TYPE=Ethernet
    BOOTPROTO=dhcp
    DEFROUTE=yes
    NAME=ens33
    DEVICE=ens33
    ONBOOT=yes

关机
init 0
克隆一台

两台虚拟机打开虚拟化
在这里插入图片描述

对两台虚拟机进行配置

规划主机名、ip地址(静态ip)
1.kongzhi 192.168.52.201 192.168.52.1
2.jisuan 192.168.52.202 192.168.52.1
在这里插入图片描述
修改控制节点
[root@kongzhi ~]# cd /etc/sysconfig/network-scripts/
[root@kongzhi network-scripts]# ls
ifcfg-ens33
[root@kongzhi network-scripts]# vi ifcfg-ens33
[root@kongzhi network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.52.201
NETMASK=255.255.255.0
GATEWAY=192.168.52.2
DNS1=192.168.52.2
关机 拍快照
在这里插入图片描述

修改计算节点
在这里插入图片描述

与第一台操作一致

系统环境配置

关闭防火墙、selinux
在这里插入图片描述

在这里插入图片描述
设置etc/host节点
控制节点
[root@kongzhi ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@kongzhi ~]#
[root@kongzhi ~]# echo '192.168.52.201 kongzhi' >> /etc/hosts
[root@kongzhi ~]# echo '192.168.52.202 jisuan' >> /etc/hosts
[root@kongzhi ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.52.201 kongzhi
192.168.52.202 jisuan
[root@kongzhi ~]#
在这里插入图片描述
计算节点同样设置,从控制节点直接拷贝过去

[root@kongzhi ~]# scp /etc/hosts jisuan:/etc/
The authenticity of host ‘jisuan (192.168.52.202)’ can’t be established.
ECDSA key fingerprint is SHA256:muAQZo+N/M9WAYeFXgOk+iteVQiFmWtOR0T91BVz2Zo.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘jisuan,192.168.52.202’ (ECDSA) to the list of known hosts.
root@jisuan’s password: 输入计算节点密码
hosts 100% 203 14.9KB/s 00:00
[root@kongzhi ~]#

在这里插入图片描述
在这里插入图片描述
安装基础包替换yum源路径
控制节点安装
修改 CentOS-Stream-AppStream.repoCentOS-Stream-BaseOS.repo
注释掉失效的
CentOS-Stream-AppStream.repo添加一条 https://mirrors.aliyun.com/centos-vault/8-stream/AppStream/x86_64/os/
在这里插入图片描述
CentOS-Stream-BaseOS.repo添加一条https://mirrors.aliyun.com/centos-vault/8-stream/BaseOS/x86_64/os/
在这里插入图片描述
配置好之后清一下缓存
yum clean all
在这里插入图片描述
计算节点也是如此操作

我们安装vim试一下
在这里插入图片描述

把CentOS-Stream-AppStream.repo和CentOS-Stream-BaseOS.repo单独拿出来
在这里插入图片描述
安装基础包
[root@kongzhi yum.repos.d]# yum install -y net-tools bash-completion chrony.x86_64 centos-release-openstack-victoria.noarch
Last metadata expiration check: 0:03:56 ago on Sun 07 Jul 2024 06:00:47 PM CST.
No match for argument: centos-release-openstack-victoria.noarch在这里报错了,我们先去掉最后一个安装其他的
Error: Unable to find a match: centos-release-openstack-victoria.noarch
[root@kongzhi yum.repos.d]# yum install -y net-tools bash-completion chrony.x86_64
接下来正常安装了

在这里插入图片描述
找到centos-release-openstack-victoria.noarch的包,在配置一下yum源

在这里插入图片描述
[root@kongzhi yum.repos.d]# cd bak
[root@kongzhi bak]# ls
[root@kongzhi bak]# mv CentOS-Stream-Extras.repo ../
[root@kongzhi bak]# cd ..
[root@kongzhi yum.repos.d]# ls
bak CentOS-Stream-AppStream.repo CentOS-Stream-BaseOS.repo CentOS-Stream-Extras.repo
[root@kongzhi yum.repos.d]# vim CentOS-Stream-Extras.repo
[root@kongzhi yum.repos.d]# cat CentOS-Stream-Extras.repo
#CentOS-Stream-Extras.repo

#The mirrorlist system uses the connecting IP address of the client and the
#update status of each mirror to pick current mirrors that are geographically
#close to the client. You should use this for CentOS updates unless you are
#manually picking other mirrors.

#If the mirrorlist does not work for you, you can try the commented out
#baseurl line instead.

[extras]
name=CentOS Stream $releasever - Extras
这里的警号标红⬇

#mirrorlist=http://mirrorlist.centos.org/?release=KaTeX parse error: Expected 'EOF', got '&' at position 7: stream&̲arch=basearch&repo=extras&infra=KaTeX parse error: Expected 'EOF', got '#' at position 7: infra #̲baseurl=http://…contentdir/ s t r e a m / e x t r a s / stream/extras/ stream/extras/basearch/os/
baseurl = https://mirrors.aliyun.com/centos-vault/8-stream/extras/x86_64/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[root@kongzhi yum.repos.d]# yum clean all
13 files removed
[root@kongzhi yum.repos.d]# yum repolist all

配置好 这些我们安装centos-release-openstack-victoria.noarch

在这里插入图片描述
这样就显示安装好了
在这里插入图片描述

我们可以先把那三段的yum源配置完毕后,在同一执行安装命令也是可以的
yum install -y vim net-tools bash-completion chrony.x86_64 centos-release-openstack-victoria.noarch

计算节点安装
直接删除原有的所有repo文件,手工随便创建一个repo文件,把上面三段repo贴到一起。直接安装
将三段合成一段也行,放入一个.repo中
在这里插入图片描述

设置NTP时间同步
控制节点下
vim /etc/chrony.conf
在这里插入图片描述
systemctl start chronyd.service
systemctl enable chronyd.service

计算节点下
在这里插入图片描述

systemctl start chronyd.service
systemctl enable chronyd.service

在计算节点下安装httpd
在这里插入图片描述
上传两个iso 用来安装基础包 创建os op两个目录分别挂在到这两个目录里面
在这里插入图片描述

[root@jisuan yum.repos.d]# ls
[root@jisuan yum.repos.d]# rm -rf CentOS*
[root@jisuan yum.repos.d]# ls
abc.repo
[root@jisuan yum.repos.d]# yum install -y httpd
其他的服务需要配置yum源 使用本地配置
这个镜像里是包含所有需要的基础安装包的。
安装好httpd 在这个目录下分别在创建两个目录,os op
在这里插入图片描述

值得注意的是,在这里,我暂停了虚拟机,回来之后IP地址丢失了,我重启了NetworkManager,地址才出现,如果你出现这类问题,也可以试一下重启 “systemctl restart NetworkManager”

现在我们挂载iso (如果需要这两个包私聊我,免费分享)
先挂载一个包到os里
在这里插入图片描述
挂载另一个包到op下
在这里插入图片描述
现在属于临时挂载,重启就会掉,我们设置成永久挂载
vi /etc/fstab 在最下面添加挂载的镜像服务
在这里插入图片描述
/iso/21-CentOS-Stream-8-x86_64-20221222-dvd1.iso /var/www/html/os iso9660 defaults 0 0
/iso/22-CentOS-Stream-8-OPS-Victoria.iso /var/www/html/op iso9660 defaults 0 0

挂载好之后,验证一下 mount -a不报错就是没什么问题。在浏览器里也能正常看到
如果看不到,可能是httpd服务没开,systemctl restart httpd 使用这条命令开启服务 systemctl enable httpd
在这里插入图片描述
然后写yum源 直接复制粘贴到xshell中注意修改地址 我的是52.202 你不一定是52.202
跳转到 yum.repo.d目录下 ,删除其他所有的repo文件 ,直接粘贴



cat <<EOF > /etc/yum.repos.d/cloudcs.repo

[highavailability]
name=CentOS Stream 8 - HighAvailability
baseurl=http://192.168.52.202/op/highavailability/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[nfv]
name=CentOS Stream 8 - NFV
baseurl=http://192.168.52.202/op/nfv/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[rt]
name=CentOS Stream 8 - RT
baseurl=http://192.168.52.202/op/rt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[resilientstorage]
name=CentOS Stream 8 - ResilientStorage
baseurl=http://192.168.52.202/op/resilientstorage/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[extras-common]
name=CentOS Stream 8 - Extras packages
baseurl=http://192.168.52.202/op/extras-common/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[extras]
name=CentOS Stream $releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$stream/extras/$basearch/os/
baseurl=http://192.168.52.202/op/extras/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[centos-ceph-pacific]
name=CentOS - Ceph Pacific
baseurl=http://192.168.52.202/op/centos-ceph-pacific/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-rabbitmq-38]
name=CentOS-8 - RabbitMQ 38
baseurl=http://192.168.52.202/op/centos-rabbitmq-38/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging

[centos-nfv-openvswitch]
name=CentOS Stream 8 - NFV OpenvSwitch
baseurl=http://192.168.52.202/op/centos-nfv-openvswitch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
module_hotfixes=1

[baseos]
name=CentOS Stream 8 - BaseOS
baseurl=http://192.168.52.202/os/BaseOS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[appstream]
name=CentOS Stream 8 - AppStream
baseurl=http://192.168.52.202/os/AppStream/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1

[centos-openstack-victoria]
name=CentOS 8 - OpenStack victoria
baseurl=http://192.168.52.202/op/centos-openstack-victoria/
#baseurl=https://repo.huaweicloud.com/centos/8-stream/cloud/x86_64/openstack-yoga/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
module_hotfixes=1

[powertools]
name=CentOS Stream 8 - PowerTools
#mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=PowerTools&infra=$infra
baseurl=http://192.168.52.202/op/powertools/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
EOF

接着控制节点也做同样的操作,
yum clean all
yum repolist all
接着 这边建议关机拍摄快照
因为之前我们把 NetworkManager服务给关闭并禁用掉了,现在又关机(为了拍快照),再启动的时候,因为这个服务默认被关闭,所以是无法获取ip地址的。
手工临时启动一下(获取ip),再关闭这个服务就行了。

systemctl start NetworkManager
systemctl stop NetworkManagerr

安装工具

只在控制节点安装工具 “yum install -y openstack-packstack ”
安装packstack 工具,通过工具生成一个应答文件,这个文件里面包含了我们搭建openstack所有的自定义选项,要安装哪些组件、各个节点ip等。最后,通过packstack这个工具,加载这个应答文件,按照应答文件里面的定义,开始搭建。
在这里插入图片描述
我创建了一个ordercat.txt的应答文件 里面的内容很多 我们修改5行内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

安装openstack

packstack --answer-file=ordercat.txt
接着在输入控制节点和计算节点的密码
在这里插入图片描述

看到这个就是安装成功了。
在这里插入图片描述

开启NetworkManager服务

systemctl start network.service
/usr/lib/systemd/systemd-sysv-install enable network

关机重启

Openstack的配置文件都在 /etc下 就比如/etc/Nova 就进入到Nova组件里面
日志文件在/var/log下 就比如/var/log/Nova 就进入到Nova的日志文件里面
mysql -uroot进入到数据库 查看
在这里插入图片描述
在浏览器输入地址192.168.52.201
在这里插入图片描述
在这里插入图片描述
至此,openstack就安装好了。

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值