Skip to main content

moregeek program

g029-op-coa-open-02 centos 8.4 通过 packstack 安装开源 openstack(v版)_cloudcs的博客-多极客编程

1 您需要了解



  • 虚拟化平台版本 VMware Workstation 16.2.0
  • 操作系统版本 CentOS Linux release 8.4.2105 ,可参考下方相关文章 G003 完成系统安装,步骤一致
  • 安装源您可访问 CentOS官网 / 阿里永久镜像站 / 华为永久镜像站 或其他镜像站进行下载
  • 环境用到 2台 虚拟机,单网卡,并为其配置 静态 IPDNS,具体规划请参考 第 2 章 环境规划
  • Ussuri 版本开始,需要使用 CentOS 8RHEL 8
  • 搭建 openstack 最麻烦的是 yum 源问题,无论使用本地的iso文件,还是使用在线源,建议严格按照本篇博客进行操作
  • 环境用到的 本地 YUM 源文件 CentOS8-4-OSP-Victoria.iso 为自己制作的文件,如有需要,请站内私信进行获取
  • 为有更好的浏览体验,您可以点击文章左上方目录按钮来显示文章整体目录结构




2 环境规划



控制节点及计算节点必须开启虚拟化引擎 Intel VT-xAMD-V。控制节点未来将被复用为计算节点和网络节点。虚拟机配置可根据实际情况进行调整。



主机名 IP 网关/DNS CPU/内存 磁盘 角色 备注
con181 192.168.200.181 192.168.200.2 4c16g 100g 控制/网络/计算节点 必须开启虚拟化引擎
com182 192.168.200.182 192.168.200.2 4c16g 100g 计算节点 必须开启虚拟化引擎

3 系统环境配置


3.1 网络配置



当前环境中控制节点及计算节点网卡类型为 NAT



3.1.1 控制节点



  • 网卡设置

[root@con181 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
IPADDR=192.168.200.181
PREFIX=24
GATEWAY=192.168.200.2
DNS1=192.168.200.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
UUID=ea74cf24-c2a2-ecee-3747-a2d76d46f93b

#重启网络
[root@con181 ~]# ifdown ens160 && ifup ens160
Connection 'ens160' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)


  • 关闭防火墙

[root@con181 ~]# systemctl stop firewalld.service 
[root@con181 ~]# systemctl disable firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.


  • 关闭 SELinux

[root@con181 ~]# setenforce 0
[root@con181 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


  • 关闭 NetworkManager


NetworkManager 会和 openstack 网络组件产生冲突,从而导致告警或错误,告警如下:
Warning: NetworkManager is active on 192.168.200.181, 192.168.200.182.
OpenStack networking currently does not work on systems that have the Network Manager service enabled.



[root@con181 ~]# systemctl stop NetworkManager
[root@con181 ~]# systemctl disable NetworkManager
Removed /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.

#服务关闭后,如果需要重启节点,有可能无法获取IP地址;可以手工启动服务,获取IP地址后,再次关闭即可。

3.1.2 计算节点



  • 网卡设置

[root@com182 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
IPADDR=192.168.200.182
PREFIX=24
GATEWAY=192.168.200.2
DNS1=192.168.200.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
UUID=f176a607-2cc5-420f-bb6f-b72e7ab5a1a5

#重启网络
[root@com182 ~]# ifdown ens160 && ifup ens160
Connection 'ens160' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)


  • 关闭防火墙

[root@com182 ~]# systemctl stop firewalld.service 
[root@com182 ~]# systemctl disable firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service


  • 关闭 SELinux

[root@com182 ~]# setenforce 0
[root@com182 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


  • 关闭 NetworkManager

[root@com182 ~]# systemctl stop NetworkManager
[root@com182 ~]# systemctl disable NetworkManager
Removed /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.

#服务关闭后,如果需要重启节点,有可能无法获取IP地址;可以手工启动服务,获取IP地址后,再次关闭即可。

3.2 IP及主机名设置


3.2.1 控制节点


[root@con181 ~]# echo '192.168.200.181 con181' >> /etc/hosts
[root@con181 ~]# echo '192.168.200.182 com182' >> /etc/hosts
[root@con181 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.181 con181
192.168.200.182 com182

#拷贝至计算节点
[root@con181 ~]# scp /etc/hosts root@com182:/etc/
The authenticity of host 'com182 (192.168.200.182)' can't be established.
ECDSA key fingerprint is SHA256:46NRy6BtLjvAXpdXFKaLvAeA93QxkYRAtMaBxxiFRkg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'com182,192.168.200.182' (ECDSA) to the list of known hosts.
root@com182's password:
hosts 100% 204 85.3KB/s 00:00

3.2.2 计算节点


[root@com182 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.181 con181
192.168.200.182 com182

[root@com182 ~]# ping con181
PING con181 (192.168.200.181) 56(84) bytes of data.
64 bytes from con181 (192.168.200.181): icmp_seq=1 ttl=64 time=0.334 ms
64 bytes from con181 (192.168.200.181): icmp_seq=2 ttl=64 time=0.420 ms
64 bytes from con181 (192.168.200.181): icmp_seq=3 ttl=64 time=0.735 ms
64 bytes from con181 (192.168.200.181): icmp_seq=4 ttl=64 time=0.383 ms
^C
--- con181 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3100ms
rtt min/avg/max/mdev = 0.334/0.468/0.735/0.157 ms

3.3 NTP时间同步配置



Linux 8 版本开始默认不再支持 ntpdate 工具,换用 chronyd 进行同步



3.3.1 控制节点


[root@con181 ~]# vim /etc/chrony.conf

#pool 2.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst

#allow 192.168.0.0/16
allow 192.168.200.0/24

#启动服务
[root@con181 ~]# systemctl start chronyd.service
[root@con181 ~]# systemctl enable chronyd.service
Created symlink /etc/systemd/system/multi-user.target.wants/chronyd.service → /usr/lib/systemd/system/chronyd.service.

3.3.2 计算节点



手工测试时间同步应在 chronyd 服务开启前,服务开启后,将无法手工同步



[root@com182 ~]# vim /etc/chrony.conf

#pool 2.centos.pool.ntp.org iburst
server con181 iburst

#手工测试时间同步
[root@com182 ~]# date
Tue Sep 6 10:11:30 CST 2022
[root@com182 ~]# date -s 2008-08-08
Fri Aug 8 00:00:00 CST 2008
[root@com182 ~]# date
Fri Aug 8 00:00:01 CST 2008
[root@com182 ~]# chronyd -q "server con181 iburst"
2008-08-07T16:00:16Z chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
2008-08-07T16:00:20Z System clock wrong by 444305493.683582 seconds (step)
2022-09-06T02:11:54Z chronyd exiting
[root@com182 ~]# date
Tue Sep 6 10:11:55 CST 2022

#启动服务
[root@com182 ~]# systemctl start chronyd.service
[root@com182 ~]# systemctl enable chronyd.service
Created symlink /etc/systemd/system/multi-user.target.wants/chronyd.service → /usr/lib/systemd/system/chronyd.service.

3.4 配置YUM源



本地 YUM 源 配置,及在线永久 YUM 源 配置分别记录如下,任选一种配置。如有需要本地源文件,请站内私信进行获取



3.4.1 本地YUM源



思路:配置一个本地 web 服务,yum 源指向 web 服务,之后控制节点及计算节点通过 web 服务进行安装。



3.4.1.1 安装 HTTPD 服务


[root@com182 ~]# mkdir /iso
[root@com182 ~]# cd /iso/

#上传iso
[root@com182 iso]# ls
CentOS-8.4.2105-x86_64-dvd1.iso CentOS8-4-OSP-Victoria.iso

#挂载
[root@com182 iso]# mount CentOS-8.4.2105-x86_64-dvd1.iso /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@com182 iso]# ls /mnt/
AppStream BaseOS EFI images isolinux LICENSE media.repo TRANS.TBL

#配置临时yum源安装httpd服务
[root@com182 iso]# cd /etc/yum.repos.d/
[root@com182 yum.repos.d]# rm -rf *
[root@com182 yum.repos.d]# vim tmp.repo

#编辑以下内容

[tmp_OS]
name = tmp_OS
baseurl = file:///mnt/BaseOS
gpgcheck = 0

[tmp_APP]
name = tmp_APP
baseurl = file:///mnt/AppStream
gpgcheck = 0

#安装
[root@com182 yum.repos.d]# yum repolist all
repo id repo name status
tmp_APP tmp_APP enabled
tmp_OS tmp_OS enabled
[root@com182 yum.repos.d]# yum install -y httpd

3.4.1.2 挂载ISO


[root@com182 yum.repos.d]# umount /mnt 
[root@com182 yum.repos.d]# mkdir /var/www/html/os
[root@com182 yum.repos.d]# mkdir /var/www/html/openstack
[root@com182 yum.repos.d]# vim /etc/fstab
[root@com182 yum.repos.d]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Aug 31 00:41:24 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=ff40a858-f614-4a49-84a8-73ecd5b7f25f /boot xfs defaults 0 0
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
/iso/CentOS-8.4.2105-x86_64-dvd1.iso /var/www/html/os iso9660 defaults 0 0
/iso/CentOS8-4-OSP-Victoria.iso /var/www/html/openstack iso9660 defaults 0 0

[root@com182 yum.repos.d]# mount -a
mount: /var/www/html/os: WARNING: device write-protected, mounted read-only.
mount: /var/www/html/openstack: WARNING: device write-protected, mounted read-only.
[root@com182 yum.repos.d]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs tmpfs 7.9G 18M 7.8G 1% /run
tmpfs tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 62G 17G 45G 28% /
/dev/mapper/cl-home xfs 30G 246M 30G 1% /home
/dev/nvme0n1p1 xfs 1014M 225M 790M 23% /boot
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/loop0 iso9660 9.3G 9.3G 0 100% /var/www/html/os
/dev/loop1 iso9660 3.0G 3.0G 0 100% /var/www/html/openstack

3.4.1.3 配置REPO文件


[root@com182 yum.repos.d]# ls /var/www/html/os/
AppStream BaseOS EFI images isolinux LICENSE media.repo TRANS.TBL
[root@com182 yum.repos.d]# ls /var/www/html/openstack/
centos-advanced-virtualization centos-nfv-openvswitch centos-rabbitmq-38 PowerTools
centos-ceph-nautilus centos-openstack-victoria extras
[root@com182 yum.repos.d]# pwd
/etc/yum.repos.d
[root@com182 yum.repos.d]# rm -rf *
[root@com182 yum.repos.d]# vim openstack.repo

#编辑以下内容(共9段)
[BaseOS]
name = BaseOS
baseurl = http:///192.168.200.182/os/BaseOS
gpgcheck = 0

[AppStream]
name = AppStream
baseurl = http:///192.168.200.182/os/AppStream
gpgcheck = 0

[centos-advanced-virtualization]
name = centos-advanced-virtualization
baseurl = http://192.168.200.182/openstack/centos-advanced-virtualization
gpgcheck = 0

[centos-ceph-nautilus]
name = centos-ceph-nautilus
baseurl = http://192.168.200.182/openstack/centos-ceph-nautilus
gpgcheck = 0

[centos-nfv-openvswitch]
name = centos-nfv-openvswitch
baseurl = http://192.168.200.182/openstack/centos-nfv-openvswitch
gpgcheck = 0

[centos-openstack-victoria]
name = centos-openstack-victoria
baseurl = http://192.168.200.182/openstack/centos-openstack-victoria
gpgcheck = 0

[centos-rabbitmq-38]
name = centos-rabbitmq-38
baseurl = http://192.168.200.182/openstack/centos-rabbitmq-38
gpgcheck = 0

[extras]
name = extras
baseurl = http://192.168.200.182/openstack/extras
gpgcheck = 0

[PowerTools]
name = PowerTools
baseurl = http://192.168.200.182/openstack/PowerTools
gpgcheck = 0

#查看并启动服务
[root@com182 yum.repos.d]# yum clean all
13 files removed
[root@com182 yum.repos.d]# yum repolist all
repo id repo name status
AppStream AppStream enabled
BaseOS BaseOS enabled
PowerTools PowerTools enabled
centos-advanced-virtualization centos-advanced-virtualization enabled
centos-ceph-nautilus centos-ceph-nautilus enabled
centos-nfv-openvswitch centos-nfv-openvswitch enabled
centos-openstack-victoria centos-openstack-victoria enabled
centos-rabbitmq-38 centos-rabbitmq-38 enabled
extras extras enable

[root@com182 yum.repos.d]# systemctl restart httpd
[root@com182 yum.repos.d]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

#将文件拷贝至控制节点
[root@con181 ~]# cd /etc/yum.repos.d/
[root@con181 yum.repos.d]# rm -rf *
[root@con181 yum.repos.d]# scp root@com182:/etc/yum.repos.d/openstack.repo .
root@com182's password:
openstack.repo 100% 1053 1.4MB/s 00:00
[root@con181 yum.repos.d]# yum clean all
0 files removed
[root@con181 yum.repos.d]# yum repolist all
repo id repo name status
AppStream AppStream enabled
BaseOS BaseOS enabled
PowerTools PowerTools enabled
centos-advanced-virtualization centos-advanced-virtualization enabled
centos-ceph-nautilus centos-ceph-nautilus enabled
centos-nfv-openvswitch centos-nfv-openvswitch enabled
centos-openstack-victoria centos-openstack-victoria enabled
centos-rabbitmq-38 centos-rabbitmq-38 enabled
extras extras enable

#控制节点测试yum源,如正常安装说明没有问题
[root@con181 yum.repos.d]# yum install -y readline*
BaseOS 2.5 MB/s | 3.9 kB 00:00
AppStream 167 MB/s | 7.1 MB 00:00
centos-advanced-virtualization 14 MB/s | 83 kB 00:00
centos-ceph-nautilus 41 MB/s | 198 kB 00:00
centos-nfv-openvswitch 2.4 MB/s | 11 kB 00:00
centos-openstack-victoria 133 MB/s | 1.8 MB 00:00
centos-rabbitmq-38 15 MB/s | 80 kB 00:00
extras 3.3 MB/s | 10 kB 00:00
PowerTools 144 MB/s | 2.0 MB 00:00
Package readline-7.0-10.el8.x86_64 is already installed.
Dependencies resolved.
=================================================================================================================================
Package Architecture Version Repository Size
=================================================================================================================================
Installing:
readline-devel x86_64 7.0-10.el8 BaseOS 204 k
Installing dependencies:
ncurses-c++-libs x86_64 6.1-7.20180224.el8 BaseOS 58 k
ncurses-devel x86_64 6.1-7.20180224.el8 BaseOS 527 k

Transaction Summary
=================================================================================================================================
Install 3 Packages

Total download size: 789 k
Installed size: 1.5 M
Downloading Packages:
(1/3): ncurses-c++-libs-6.1-7.20180224.el8.x86_64.rpm 7.3 MB/s | 58 kB 00:00
(2/3): ncurses-devel-6.1-7.20180224.el8.x86_64.rpm 48 MB/s | 527 kB 00:00
(3/3): readline-devel-7.0-10.el8.x86_64.rpm 17 MB/s | 204 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------
Total 56 MB/s | 789 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 1/3
Installing : ncurses-devel-6.1-7.20180224.el8.x86_64 2/3
Installing : readline-devel-7.0-10.el8.x86_64 3/3
Running scriptlet: readline-devel-7.0-10.el8.x86_64 3/3
Verifying : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 1/3
Verifying : ncurses-devel-6.1-7.20180224.el8.x86_64 2/3
Verifying : readline-devel-7.0-10.el8.x86_64 3/3
Installed products updated.

Installed:
ncurses-c++-libs-6.1-7.20180224.el8.x86_64 ncurses-devel-6.1-7.20180224.el8.x86_64 readline-devel-7.0-10.el8.x86_64

Complete!

3.4.2 在线永久YUM源


3.4.2.1 配置REPO文件(控制节点)



在线源指向的路径已修改为阿里云永久源路径,直接复制即可。注意控制节点及计算节点必须可以连通外网(互联网)。



[root@con181 ~]# cd /etc/yum.repos.d/
[root@con181 yum.repos.d]# rm -rf *
[root@con181 yum.repos.d]# vim cloudcs.repo

#创建 repo 文件,并复制下面内容

[base]
name=CentOS-8.4.2105 - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos-vault/8.4.2105/BaseOS/$basearch/os/
http://mirrors.aliyuncs.com/centos-vault/8.4.2105/BaseOS/$basearch/os/
http://mirrors.cloud.aliyuncs.com/centos-vault/8.4.2105/BaseOS/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

[extras]
name=CentOS-8.4.2105 - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos-vault/8.4.2105/extras/$basearch/os/
http://mirrors.aliyuncs.com/centos-vault/8.4.2105/extras/$basearch/os/
http://mirrors.cloud.aliyuncs.com/centos-vault/8.4.2105/extras/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

[PowerTools]
name=CentOS-8.4.2105 - PowerTools - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos-vault/8.4.2105/PowerTools/$basearch/os/
http://mirrors.aliyuncs.com/centos-vault/8.4.2105/PowerTools/$basearch/os/
http://mirrors.cloud.aliyuncs.com/centos-vault/8.4.2105/PowerTools/$basearch/os/
gpgcheck=0
enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

[AppStream]
name=CentOS-8.4.2105 - AppStream - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos-vault/8.4.2105/AppStream/$basearch/os/
http://mirrors.aliyuncs.com/centos-vault/8.4.2105/AppStream/$basearch/os/
http://mirrors.cloud.aliyuncs.com/centos-vault/8.4.2105/AppStream/$basearch/os/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

[centos-advanced-virtualization]
name=CentOS-$releasever - Advanced Virtualization
baseurl=https://mirrors.aliyun.com/centos-vault/8.4.2105/virt/x86_64/advanced-virtualization/
gpgcheck=1
enabled=1
module_hotfixes=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization

[centos-ceph-nautilus]
name=CentOS-$releasever - Ceph Nautilus
baseurl=https://mirrors.aliyun.com/centos-vault/8.4.2105/storage/x86_64/ceph-nautilus/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-rabbitmq-38]
name=CentOS-8 - RabbitMQ 38
baseurl=https://mirrors.aliyun.com/centos-vault/8.4.2105/messaging/x86_64/rabbitmq-38/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging

[centos-nfv-openvswitch]
name=CentOS-$releasever - NFV OpenvSwitch
baseurl=https://mirrors.aliyun.com/centos-vault/8.4.2105/nfv/x86_64/openvswitch-2/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV
module_hotfixes=1

[centos-openstack-victoria]
name=CentOS-$releasever - OpenStack victoria
baseurl=https://mirrors.aliyun.com/centos-vault/8.4.2105/cloud/x86_64/openstack-victoria/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
module_hotfixes=1

[root@con181 yum.repos.d]# yum clean all
155 files removed
[root@con181 yum.repos.d]# yum repolist all
repo id repo name status
AppStream CentOS-8.4.2105 - AppStream - mirrors.aliyun enabled
PowerTools CentOS-8.4.2105 - PowerTools - mirrors.aliyu enabled
base CentOS-8.4.2105 - Base - mirrors.aliyun.com enabled
centos-advanced-virtualization CentOS-8 - Advanced Virtualization enabled
centos-ceph-nautilus CentOS-8 - Ceph Nautilus enabled
centos-nfv-openvswitch CentOS-8 - NFV OpenvSwitch enabled
centos-openstack-victoria CentOS-8 - OpenStack victoria enabled
centos-rabbitmq-38 CentOS-8 - RabbitMQ 38 enabled
extras CentOS-8.4.2105 - Extras - mirrors.aliyun.co enable

3.4.2.2 下载RPM-GPG包(控制节点)



在线安装需要用到一些 RPM-GPG 包,通过命令 yum install -y centos-release-openstack-victoria.noarch 会下载相关 REPO 文件及对应的 RPM-GPG 包。因为 REPO 文件我们已经在上一步配置好,所以安装完成后,手工删除 CentOS 开头的所有 REPO 文件,仅留下 RPM-GPG 相关包即可。



[root@con181 yum.repos.d]# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-centosofficial RPM-GPG-KEY-centostesting
[root@con181 yum.repos.d]# yum install -y centos-release-openstack-victoria.noarch

#因输出过长,仅截取首尾片段作记录

CentOS-8.4.2105 - Base - mirrors.aliyun.com 6.2 MB/s | 8.5 MB 00:01
CentOS-8.4.2105 - Extras - mirrors.aliyun.com 46 kB/s | 10 kB 00:00
CentOS-8.4.2105 - PowerTools - mirrors.aliyun.com 3.7 MB/s | 2.4 MB 00:00

...省略...

Installed:
centos-release-advanced-virtualization-1.0-3.el8.noarch centos-release-ceph-nautilus-1.2-2.el8.noarch
centos-release-messaging-1-2.el8.noarch centos-release-nfv-common-1-3.el8.noarch
centos-release-nfv-openvswitch-1-3.el8.noarch centos-release-openstack-victoria-1-2.el8.noarch
centos-release-rabbitmq-38-1-2.el8.noarch centos-release-storage-common-2-2.el8.noarch
centos-release-virt-common-1-2.el8.noarch

Complete!

[root@con181 yum.repos.d]# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-centosofficial RPM-GPG-KEY-CentOS-SIG-NFV RPM-GPG-KEY-centostesting
RPM-GPG-KEY-CentOS-SIG-Cloud RPM-GPG-KEY-CentOS-SIG-Storage
RPM-GPG-KEY-CentOS-SIG-Messaging RPM-GPG-KEY-CentOS-SIG-Virtualization

#最后删除其他 repo 文件
[root@con181 yum.repos.d]# ls
CentOS-Advanced-Virtualization.repo CentOS-Messaging-rabbitmq.repo CentOS-OpenStack-victoria.repo cloudcs.repo
CentOS-Ceph-Nautilus.repo CentOS-NFV-OpenvSwitch.repo CentOS-Storage-common.repo
[root@con181 yum.repos.d]# rm -rf CentOS-*
[root@con181 yum.repos.d]# ls
cloudcs.repo

3.4.2.3 配置REPO文件(计算节点)



将控制节点的 REPO 文件拷贝至计算节点



[root@com182 ~]# cd /etc/yum.repos.d/
[root@com182 yum.repos.d]# rm -rf *
[root@com182 yum.repos.d]# scp root@con181:/etc/yum.repos.d/cloudcs.repo .
The authenticity of host 'con181 (192.168.200.181)' can't be established.
ECDSA key fingerprint is SHA256:iGa1BrAS1i685ZFkmv9Jo1Gd4f5P6CHvkooOvV/DuQU.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'con181,192.168.200.181' (ECDSA) to the list of known hosts.
root@con181's password:
cloudcs.repo 100% 2818 1.8MB/s 00:00
[root@com182 yum.repos.d]# ls
cloudcs.repo
[root@com182 yum.repos.d]# yum clean all
0 files removed
[root@com182 yum.repos.d]# yum repolist all
repo id repo name status
AppStream CentOS-8.4.2105 - AppStream - mirrors.aliyun.com enabled
PowerTools CentOS-8.4.2105 - PowerTools - mirrors.aliyun.com enabled
base CentOS-8.4.2105 - Base - mirrors.aliyun.com enabled
centos-advanced-virtualization CentOS-8 - Advanced Virtualization enabled
centos-ceph-nautilus CentOS-8 - Ceph Nautilus enabled
centos-nfv-openvswitch CentOS-8 - NFV OpenvSwitch enabled
centos-openstack-victoria CentOS-8 - OpenStack victoria enabled
centos-rabbitmq-38 CentOS-8 - RabbitMQ 38 enabled
extras CentOS-8.4.2105 - Extras - mirrors.aliyun.com enable

3.4.2.4 下载RPM-GPG包(计算节点)



在线安装需要用到一些 RPM-GPG 包,通过命令 yum install -y centos-release-openstack-victoria.noarch 会下载相关 REPO 文件及对应的 RPM-GPG 包。因为 REPO 文件我们已经在上一步配置好,所以安装完成后,手工删除 CentOS 开头的所有 REPO 文件,仅留下 RPM-GPG 相关包即可。



[root@com182 yum.repos.d]# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-centosofficial RPM-GPG-KEY-centostesting
[root@com182 yum.repos.d]# yum install -y centos-release-openstack-victoria.noarch

#因输出过长,仅截取首尾片段作记录

CentOS-8.4.2105 - Base - mirrors.aliyun.com 9.0 MB/s | 8.5 MB 00:00
CentOS-8.4.2105 - Extras - mirrors.aliyun.com 55 kB/s | 10 kB 00:00
CentOS-8.4.2105 - PowerTools - mirrors.aliyun.com 3.6 MB/s | 2.4 MB 00:00
CentOS-8.4.2105 - AppStream - mirrors.aliyun.com 7.8 MB/s | 9.6 MB 00:01

...省略...

Installed:
centos-release-advanced-virtualization-1.0-3.el8.noarch centos-release-ceph-nautilus-1.2-2.el8.noarch
centos-release-messaging-1-2.el8.noarch centos-release-nfv-common-1-3.el8.noarch
centos-release-nfv-openvswitch-1-3.el8.noarch centos-release-openstack-victoria-1-2.el8.noarch
centos-release-rabbitmq-38-1-2.el8.noarch centos-release-storage-common-2-2.el8.noarch
centos-release-virt-common-1-2.el8.noarch

Complete!

[root@com182 yum.repos.d]# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-centosofficial RPM-GPG-KEY-CentOS-SIG-NFV RPM-GPG-KEY-centostesting
RPM-GPG-KEY-CentOS-SIG-Cloud RPM-GPG-KEY-CentOS-SIG-Storage
RPM-GPG-KEY-CentOS-SIG-Messaging RPM-GPG-KEY-CentOS-SIG-Virtualization

#最后删除其他 repo 文件
[root@com182 yum.repos.d]# ls
CentOS-Advanced-Virtualization.repo CentOS-Messaging-rabbitmq.repo CentOS-OpenStack-victoria.repo cloudcs.repo
CentOS-Ceph-Nautilus.repo CentOS-NFV-OpenvSwitch.repo CentOS-Storage-common.repo
[root@com182 yum.repos.d]# rm -rf CentOS-*
[root@com182 yum.repos.d]# ls
cloudcs.repo

4 安装配置


4.1 控制节点安装 PackStack 工具


[root@con181 ~]# yum install -y openstack-packstack

#因输出过长,仅截取首尾片段作记录
Last metadata expiration check: 0:03:25 ago on Tue 06 Sep 2022 11:17:32 AM CST.
Dependencies resolved.
=================================================================================================================================
Package Arch Version Repository Size
=================================================================================================================================
Installing:
openstack-packstack noarch 1:17.0.0-0.3.0rc2.el8 centos-openstack-victoria 194 k
Installing dependencies:
boost-filesystem x86_64 1.66.0-10.el8 AppStream 49 k
boost-locale x86_64 1.66.0-10.el8 AppStream 265 k

...省略...

rubygem-semantic_puppet-1.0.2-1.el8.noarch
rubygem-simplecov-0.13.0-7.el8.1.noarch
rubygem-simplecov-html-0.10.0-8.el8.noarch
rubygem-yard-0.9.12-8.el8.noarch
rubygems-2.7.6.2-106.module_el8.3.0+571+bab7c6bc.noarch
yaml-cpp-0.6.3-1.el8.x86_64

Complete!

4.2 生成应答文件


[root@con181 ~]# packstack -h |grep ans
--gen-answer-file=GEN_ANSWER_FILE
Generate a template of an answer file.
--validate-answer-file=VALIDATE_ANSWER_FILE
Check if answerfile contains unexpected options.
--answer-file=ANSWER_FILE
answerfile will also be generated and should be used
-o, --options Print details on options available in answer file(rst
Packstack a second time with the same answer file and
attribute where "y" means an account is disabled.
--manila-netapp-transport-type=MANILA_NETAPP_TRANSPORT_TYPE
The transport protocol used when communicating with

[root@con181 ~]# packstack --gen-answer-file=cloudcs.txt
Packstack changed given value to required value /root/.ssh/id_rsa.pub
Additional information:
* Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS plugin. Geneve will be used as the encapsulation method for tenant networks

4.3 编辑应答文件



因 Linux 8 版本默认不再支持 NTP,所以注意 CONFIG_NTP_SERVERS= 参数,保持 空值 即可。否则安装过程将出错。



[root@con181 ~]# vim cloudcs.txt

#修改以下参数内容
CONFIG_COMPUTE_HOSTS=192.168.200.181,192.168.200.182
CONFIG_KEYSTONE_ADMIN_PW=redhat
CONFIG_PROVISION_DEMO=n
CONFIG_HEAT_INSTALL=y

4.4 执行应答文件进行安装


[root@con181 ~]# packstack --answer-file=cloudcs.txt
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20220906-113258-6lr6wwe_/openstack-setup.log

Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
root@192.168.200.182's password:
root@192.168.200.182's password:
root@192.168.200.181's password:
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries [ DONE ]
Setting up CACERT [ DONE ]
Preparing AMQP entries [ DONE ]
Preparing MariaDB entries [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries [ DONE ]
Preparing Glance entries [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries [ DONE ]
Preparing Nova API entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Preparing Nova Compute entries [ DONE ]
Preparing Nova Scheduler entries [ DONE ]
Preparing Nova VNC Proxy entries [ DONE ]
Preparing OpenStack Network-related Nova entries [ DONE ]
Preparing Nova Common entries [ DONE ]
Preparing Neutron API entries [ DONE ]
Preparing Neutron L3 entries [ DONE ]
Preparing Neutron L2 Agent entries [ DONE ]
Preparing Neutron DHCP Agent entries [ DONE ]
Preparing Neutron Metering Agent entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Preparing OpenStack Client entries [ DONE ]
Preparing Horizon entries [ DONE ]
Preparing Swift builder entries [ DONE ]
Preparing Swift proxy entries [ DONE ]
Preparing Swift storage entries [ DONE ]
Preparing Heat entries [ DONE ]
Preparing Heat CloudFormation API entries [ DONE ]
Preparing Gnocchi entries [ DONE ]
Preparing Redis entries [ DONE ]
Preparing Ceilometer entries [ DONE ]
Preparing Aodh entries [ DONE ]
Preparing Puppet manifests [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 192.168.200.181_controller.pp
192.168.200.181_controller.pp: [ DONE ]
Applying 192.168.200.181_network.pp
192.168.200.181_network.pp: [ DONE ]
Applying 192.168.200.182_compute.pp
Applying 192.168.200.181_compute.pp
192.168.200.181_compute.pp: [ DONE ]
192.168.200.182_compute.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]

**** Installation completed successfully ******

Additional information:
* Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS plugin. Geneve will be used as the encapsulation method for tenant networks
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.200.181. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.200.181/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* The installation log file is available at: /var/tmp/packstack/20220906-113258-6lr6wwe_/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20220906-113258-6lr6wwe_/manifests

5 完成安装



打开浏览器,访问  http://192.168.200.181/dashboard



image.png


image.png





  • END

©著作权归作者所有:来自51CTO博客作者CloudCS的原创作品,请联系作者获取转载授权,否则将追究法律责任

karmada v1.3:更优雅 更精准 更高效_华为云开发者社区的博客-多极客编程

摘要:最新发布的1.3版本中,Karmada重新设计了应用跨集群故障迁移功能,实现了基于污点的故障驱逐机制,并提供平滑的故障迁移过程,可以有效保障服务迁移过程的连续性(不断服)。本文分享自华为云社区《​​Karmada v1.3:更优雅 更精准 更高效​​》,作者:云容器大未来。Karmada是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容Kubernetes原

企业上云的关键安全问题和应对之道_mb62f1cd5a97d30的博客-多极客编程

现在企业都希望可以通过云的能力,来提升自己的业务能力,artner预测:到2025年,将有85%的企业和组织采用云优先原则,云计算已经成为企业和组织IT战略的一部分,企业对于上云已经不陌生。在企业上云过程中,如果不能保证安全和可靠,那往往会带来无尽的隐患。一个错误配置的服务器可能会给你的公司带来财务或声誉损失,这需要几年的时间才能挽回。虽然这个过程充满挑战,我们依然有信心去安全的完成云迁移,首先我

容器编排工具很多套,出身名门的swarm上不了_博学谷狂野架构师的博客-多极客编程

Swarm集群编排 什么是Swarm ​ Swarm是Docker公司自研发的容器集群管理系统,Swarm在早期是作为一个独立服务存在,在Docker Engine v1.12中集成了Swarm的集群管理,和编排功能。可以通过初始化Swarm或加入现有Swarm来启用Docker引擎的Swarm模式。 ​ Docker Engine CLI和API包括了管理Swarm节点命令,比如添加、删除

如果你还没玩过docker stack管理服务,你已经out了,(送portainer集群管理教程)_博学谷狂野架构师的博客-多极客编程

我们上面使用swarm部署服务,单个服务还好,如果很多个服务怎么来解决呢,这里就用到了Docker Stack管理服务。 ​ 在上面我们学会了如何配置一个swarm集群,并且知道如何在swarm集群上部署应用,现在,我们开始了解Docker层级关系中的最高一个层级——stack。一个stack就是一组有关联的服务的组合,可以编排在一起,一起管理。 ​ 单机模式下,我们可以使用 Docke

详解云端 kop——streamnative cloud for kafka_wx630f055ce23fc的博客-多极客编程

StreamNative Cloud for Kafka目前 StreamNative Cloud for Kafka 服务是预测试版本,只对少数用户定向开放体验。StreamNative Cloud 简介StreamNative Cloud 提供了全托管(Cloud-Hosted)和半托管(Cloud-Managed)两种云端服务,前者是由 StreamNative 提供的全 SaaS 服务,用

bcc 和 ftrace 追踪内核网络模块实战_mb60939e30d6d2e的博客-多极客编程

今天给技术伙伴们分享一下 BCC 和 Ftrace 的使用方法,在开发实践过程中会遇到哪些问题,本篇文章都将一一道来~BCC 一个用于跟踪内核和操作程序的工具集,其软件包中包含了一些有用的工具和例子,是 eBPF 技术的一个前端,集成了 ebpf/kprobe/uprobe 等工具,可以使用 Python 来封装,对一些常见功能进行了整合。而 eBPF 是近几年比较热门的一项技术,它的前身是 BP

openstack私有云运维笔记_键客李大白的博客-多极客编程

Openstack简介 官方文档(中文):https://docs.openstack.org/zh_CN/ 什么是Openstack ​ Openstack是由NASA(美国国家航空航天局)和Rackspace合作研发的IaaS解决方案,是以Apache许可证为授权的开源云计算管理平台。 组件 1)Horizon组件 ​ Horizon为Openstack服务的Web控制面板,它可以管理

bi如何实现用户身份集成自定义安全程序开发_葡萄城技术团队的博客-多极客编程

统一身份认证是整个 IT 架构的最基本的组成部分,而账号则是实现统一身份认证的基础。做好账号的规划和设计直接决定着企业整个信息系统建设的便利与难易程度,决定着系统能否足够敏捷和快速赋能,也决定了在数字化转型中的投入和效率。用户账号是用户身份的一种表示,传统统一身份认证系统往往被作为外围系统来集成各个应用系统,而不是作为核心基础系统被其他应用系统来集成。所以传统统一身份认证系统的建设存在众多的问题,

【三维地图】开发攻略 —— 详解“geojson”技术和应用场景_葡萄城技术团队的博客-多极客编程

GeoJSON ,一个用于存储地理信息的数据格式。GoeJSON对象可以表示几何、特征或特征集合,支持:点、线、面、多点、多线、多面和几何集合。在基于平面地图,三维地图中都需要用到的一种数据类型。由于这种格式在三维地图中的优秀属性,使用它我们不仅可以轻松实现地图类功能,更重要的是在3D效果展示上也具有不凡的表现。 GeoJSON数据结构图 念介绍: GeoJSON是一种对各种地理数据结构进行

【tomcat】壹 - tomcat的快速入门:你也许会用tomcat,但你真的了解它吗?本文章收录了tomcat的简介、tomcat各文件夹的作用、tomcat的安装卸载使用,手动部署tomcat_wx63311348dcab6的博客-多极客编程

文章目录​​Tomcat简介​​​​Tomcat的安装和删除​​​​Tomcat的安装​​​​Tomcat文件夹下各文件的作用​​​​解决Tomcat运行时cmd命令乱码的问题​​​​Tomcat的删除​​​​TomCat的使用​​​​Tomcat端口号的修改​​​​Tomcat启动失败​​​​一是端口号被占用了​​​​二是命令行窗口一闪而过​​​​Web项目的手动部署​​Tomcat简介Tomc

#打卡不停更#[图文并茂]packstack部署train版openstack_feyncode的博客-多极客编程

Packstack部署openstack-train 介绍如何在centos7.9中使用packstack部署openstack-train。 首先需要安装一个最小化安装的centos7.9,按照你的网络环境配置好网络,然后重启。 这里我的环境是VMware虚拟机,ip是192.168.10.30. 首先我们需要关闭防火墙和NetworkManager systemctl disable --no

.net mvc3 几种返回 json 对象的方式和注意事项_草青工作室的博客-多极客编程

.NET MVC3 几种返回 JSON 对象的方式和注意事项引言 在用 .NET MVC3 给我们做 WEB 项目带来很大灵活性同时, 对刚上手的同学来说有些细微的设置导致的问题让我们 相当的“纠结”!这里要讨论的就是:使用JQuery的 Ajax 请求后“返回”的 JSON 数据问题。 相信大多数同学都会遇到过,就是在后台已经拼接好了一 (拼接方法比较多,我的博客也有提到过!) 串标准的JSO