当前位置: 首页 > news >正文

CentOS-Stream-9仿冒Rocky-9通过Kolla-ansible部署OpenStack 2024.1

CentOS-Stream-9仿冒Rocky-9通过Kolla-ansible部署OpenStack 2024.1

OpenStack及Kolla项目的最新稳定版产品不再提供对CentOS-Stream-9的容器镜像支持,但考虑到 Rocky-9对RHEL/CentOS-Stream-9进行了binary级别的兼容,因此在CentOS-Stream-9上仿冒Rocky-9进行容器化安装OpenStack 2024.1应该是可行的。

结论:方法可行,但在deploy阶段会遇到一些奇奇怪怪的问题,需要多一点耐心在destroy和deploy之间反复横跳。

部署过程(All-In-One模式):

su - root
dnf update -y
hostnamectl status
ip addr
echo "192.168.136.201 controller-openstack" | tee -a /etc/hosts 
ssh-keygen -t rsa
ls -Fhlart $HOME/.ssh/
cat $HOME/.ssh/id_rsa.pub | tee -a $HOME/.ssh/authorized_keys
ls -Fhlart $HOME/.ssh/
chmod 644 $HOME/.ssh/authorized_keys
ssh controller-openstack
ssh root@controller-openstack
dnf update -y
dnf config-manager --enable crb
dnf repolist
dnf install -y git python3-devel libffi-devel gcc openssl-devel python3-libselinux
mkdir -vp /root/venv
python3 --version
python3 -m venv /root/venv/
ls -Fhlart /root/venv/
source /root/venv/bin/activate
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -U pip
pip3 install 'ansible-core>=2.15,<2.16.99'
ansible --version
pip install git+https://opendev.org/openstack/kolla-ansible@stable/2024.1
ls -Fhlart /root/venv/
ls -Fhlart /root/venv/share/
ls -Fhlart /root/venv/share/kolla-ansible/
cat /root/venv/share/kolla-ansible/requirements.yml 
ls -Fhlart /root/.ansible/collections/ansible_collections/
grep -n "docker_yum_url" /root/.ansible/collections/ansible_collections/*/*/*/*/*/* |tee -a /root/venv/ansible_collectionsTMP.txt
nano /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/defaults/main.yml
grep -n "docker_yum_url" /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/defaults/main.yml
mkdir -vp /etc/kolla
chown $USER:$USER /etc/kolla/
cp -r /root/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/
cp /root/venv/share/kolla-ansible/ansible/inventory/all-in-one /etc/kolla/
cat -n /etc/hosts 
nano /etc/kolla/all-in-one 
head -n 20 /etc/kolla/all-in-one 
nano /etc/kolla/globals.yml 
grep -Ev "^#|^$" /etc/kolla/globals.yml 
kolla-genpwd
grep -n "keystone_admin_password" /etc/kolla/passwords.yml 
sed -i 's#keystone_admin_password:.*#keystone_admin_password: 自定义密码#g' /etc/kolla/passwords.yml
grep -n "keystone_admin_password" /etc/kolla/passwords.yml 
lsblk
fdisk -l
pvcreate /dev/nvme0n1
pvdisplay 
vgcreate cinder-volumes /dev/nvme0n1
vgdisplay 
ansible -i /etc/kolla/all-in-one all -m ping
kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers -vvvv
kolla-ansible -i /etc/kolla/all-in-one prechecks -vvvv
kolla-ansible -i /etc/kolla/all-in-one pull -vvvv
docker image list
kolla-ansible -i /etc/kolla/all-in-one deploy  -vvvv
docker ps
docker ps | wc -l
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/2024.1
kolla-ansible -i /etc/kolla/all-in-one post-deploy
/root/venv/share/kolla-ansible/init-runonce 
ls -Fhlart /etc/kolla/
cat -n /etc/kolla/clouds.yaml 
deactivate

本次部署用到的 globals.yml:

---
workaround_ansible_issue_8743: yes
kolla_base_distro: "rocky"
openstack_release: "2024.1"
kolla_internal_vip_address: "192.168.136.205"
kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
kolla_container_engine: docker
docker_registry: quay.nju.edu.cn
network_interface: "ens160"
neutron_external_interface: "ens192"
neutron_plugin_agent: "openvswitch"
keepalived_virtual_router_id: "51"
enable_container_healthchecks: "yes"
enable_openstack_core: "yes"
enable_hacluster: "no"
enable_haproxy: "yes"
enable_keepalived: "{{ enable_haproxy | bool }}"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"
cinder_volume_group: "cinder-volumes"
nova_compute_virt_type: "kvm"
nova_console: "novnc"

本次部署用到的 ansible-inventory 文件:【仅修改了前20行中的内容,其他部分保持不变】

[control]
controller-openstack

[network]
controller-openstack

[compute]
controller-openstack

[storage]
controller-openstack

[monitoring]
controller-openstack

[deployment]
controller-openstack
 

本次部署用到的 docker-image 清单:

quay.nju.edu.cn/openstack.kolla/nova-compute:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/keystone-ssh:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/keystone:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/placement-api:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/keystone-fernet:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/neutron-server:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/neutron-openvswitch-agent:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/cinder-volume:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/cinder-backup:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/neutron-metadata-agent:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/neutron-dhcp-agent:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/neutron-l3-agent:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/cinder-scheduler:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/cinder-api:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/horizon:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/nova-ssh:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/nova-novncproxy:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/nova-scheduler:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/nova-api:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/nova-conductor:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/glance-api:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/heat-api:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/heat-engine:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/heat-api-cfn:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/mariadb-server:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/nova-libvirt:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/openvswitch-vswitchd:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/kolla-toolbox:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/openvswitch-db-server:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/mariadb-clustercheck:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/fluentd:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/memcached:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/haproxy:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/rabbitmq:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/keepalived:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/cron:2024.1-rocky-9
quay.nju.edu.cn/openstack.kolla/iscsid:2024.1-rocky-9

相关文章:

CentOS-Stream-9仿冒Rocky-9通过Kolla-ansible部署OpenStack 2024.1

CentOS-Stream-9仿冒Rocky-9通过Kolla-ansible部署OpenStack 2024.1 OpenStack及Kolla项目的最新稳定版产品不再提供对CentOS-Stream-9的容器镜像支持&#xff0c;但考虑到 Rocky-9对RHEL/CentOS-Stream-9进行了binary级别的兼容&#xff0c;因此在CentOS-Stream-9上仿冒Rocky…...

Python机器学习实战:分类算法之支持向量机-垃圾邮件识别

为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能&#xff0c;从而更快地掌握解决问题所需的能力。 目录 支持向量机算法介绍 练习题 Python代码与分析 支持向量机和朴素贝叶斯的联系 支持向量机算法介绍 支持向量机&#…...

秒懂Linux之自动化构建工具-make/Makefile

目录 一.前文摘要 二.make/Makefile 一.前文摘要 在学习自动化构建工具前我们先来补充一下动静态库的相关指令 动态库指令 gcc -o 文件&#xff08;重命名&#xff09; 源文件 静态库指令 gcc -o 文件&#xff08;重命名&#xff09; 源文件 -static 二.make/Makefile 怎么形…...

.net core + vue 搭建前后端分离的框架

目录 步骤一&#xff1a;创建.NET Core后端项目 步骤二&#xff1a;创建Vue.js前端项目 步骤三&#xff1a;集成后端和前端项目 步骤一&#xff1a;创建.NET Core后端项目 安装.NET Core SDK&#xff1a; 确保你的开发环境中已安装了最新版本的.NET Core SDK。你可以从 .NET …...

小阿轩yx-KVM+GFS 分布式存储系统构建 KVM 高可用

小阿轩yx-KVMGFS 分布式存储系统构建 KVM 高可用 案例分析 案例概述 使用 KVM 及 GlusterFS 技术&#xff0c;结合起来实现 KVM 高可用利用 GlusterFS 分布式复制卷对 KVM 虚拟机文件进行分布存储和冗余 分布式复制卷 主要用于需要冗余的情况下把一个文件存放在两个或两个…...

centos安装mysql 5.7版本

因为要继续第二阶段的学习&#xff0c;windows里面的mysql版本&#xff0c;很多设置没有。因此弄了一个虚拟机&#xff0c;安装了centos&#xff0c;在里面安装mysql。 看了《centos安装mysql 5.7版本》里面有设置my.cnf文件&#xff0c;这个在虚拟机里面编辑&#xff0c;手动敲…...

SQL——查询sql执行顺序

在SQL查询中&#xff0c;虽然我们在编写查询时遵循一定的逻辑顺序&#xff08;SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY&#xff09;&#xff0c;但实际上&#xff0c;数据库在执行这些查询时遵循的是不同的物理执行顺序。这个物理执行顺序是数据库管理系统&#xff0…...

钉耙编程(3)

1001深度自同构 Problem Description 对于无向图中的点&#xff0c;定义一个点的度为与其相连的边的条数。 对于一棵有根树&#xff0c;定义一个点的深度为该点到根的距离。 对于由若干有根树构成的森林&#xff0c;定义该森林是深度自同构的&#xff0c;当且仅当森林中任意…...

python 线程池处理文件

使用多线程来加速文件复制的过程&#xff0c;可以使用Python的concurrent.futures模块中的ThreadPoolExecutor。代码如下&#xff1a; import glob import os import shutil from concurrent.futures import ThreadPoolExecutordef copy_image(image):imagepath image.replace…...

AI技术和大模型对人才市场的影响

012024 AI技术和大模型 2024年AI技术和大模型呈现出多元化和深入融合的趋势&#xff0c;以下是一些关键的技术方向和特点&#xff1a; 1. 生成式AI 生成式AI&#xff08;Generative AI&#xff09;在2024年继续快速发展&#xff0c;它能够创造全新的内容&#xff0c;而不仅仅…...

解释“location”和“position”

Explanation of “Location” and “Position” Location and position are terms often used interchangeably in everyday language, but they can have distinct meanings depending on the context. Below, we explore their definitions, differences, and examples of u…...

Netty 必知必会(三)—— ByteBuf

Netty ByteBuf工作原理&#xff0c;和NIO里ByteBuffer区别&#xff1f; Java NIO 提供了ByteBuffer 作为它 的字节容器&#xff0c;但是这个类使⽤起来过于复杂&#xff0c;⽽且也有些繁琐。 ByteBuf是Netty框架中的一个关键类&#xff0c;专门设计来处理字节数据&#xff0c;…...

芋道以开源之名行下作之事 恬不知耻 标榜自己开源 公开源码+sql 不用再加入知识星球

资源 链接: https://pan.baidu.com/s/1TeuxbAUfLQ5_BqMBF1kniQ?pwdcqud 提 取码: cqud 依次为后端、补充版的sql、前端 此文档内安装部署等一应俱全...

wordpress中,wp_posts 文章的状态 有哪些,分别对应什么数值

在WordPress中&#xff0c;wp_posts 表存储了网站上的所有内容&#xff0c;包括文章&#xff08;posts&#xff09;、页面&#xff08;pages&#xff09;、自定义文章类型&#xff08;custom post types&#xff09;等。这个表有一个名为 post_status 的字段&#xff0c;用于标…...

输入成绩问题(c语言)

1.问题&#xff1a;期中考试开始了&#xff0c;大家想要取得好成绩&#xff0c;争夺前五名&#xff0c;从键盘输入n个学生成绩&#xff08;不超过40个&#xff09;&#xff0c;输出每组的前五名的成绩 两行&#xff0c;第一行输入一个整数&#xff0c;表示n个学生&#xff08;…...

基于域名+基于ip+基于端口的虚拟主机+上线商务系统

一、回顾 1.jdk环境 tomcat服务器需要jdk环境 版本对应 ​ tomcat9>jdk1.8 配置系统变量JAVA_HOME sed -i $aexport JAVA_HOME/usr/local/jdk22/ /etc/profile sed -i $aexport PATH$JAVA_HOME/bin:$PATH /etc/profile ​ source /etc/profile ​ java -version java…...

vue每次路由跳转前将页面滚动到顶部

在Vue.js应用中&#xff0c;特别是使用Vue Router进行页面路由管理时&#xff0c;router.beforeEach是一个非常有用的导航守卫&#xff08;Navigation Guard&#xff09;。它允许你在路由跳转之前执行一些逻辑&#xff0c;比如权限验证、页面跳转前的数据加载、滚动位置重置等。…...

【Qt】QDateTimeEdit

在Qt中&#xff0c;QDateEdit是用于选择日期的微调框&#xff0c;QTimeEdit是用于选择小时和分钟的微调框 QDateTimeEdit则是基于QDateEdit和QTimeEdit的组合控件&#xff0c;能够同时显示日期和时间&#xff0c;并允许用户以交互方式编辑日期 常用属性 属性说明dateTime时间…...

Redis和Mysql如何保持数据一致性

一般情况下&#xff0c;Redis是用来实现应用和数据库之间读操作得缓存层&#xff0c;主要目的是减少数据库IO&#xff0c;还可以提升数据的IO性能。 当应用程序需要去读取某个数据时&#xff0c;会首先尝试去Redis里面加载&#xff0c;如果命中就直接返回&#xff0c;如果没有…...

Java中Optional相关

Java中Optional相关 orElse 提供默认值以确保不会返回 null。 适用于默认情况下的备选值或简单计算结果。 // 如果 optionalName 为空&#xff0c;返回 "Unknown" Optional<String> optionalName Optional.empty(); String result optionalName.orElse(&q…...

AI在HR候选人关系管理中的革新应用

一、引言 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;其在人力资源管理&#xff08;HR&#xff09;领域的应用也日益广泛。特别是在候选人关系管理方面&#xff0c;AI技术不仅提高了管理效率&#xff0c;还使得候选人体验得到了极大的改善。本文将深入分…...

HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字+烟花特效)

利用HTMLCSSJavaScript制作了一个简单的七夕表白网页&#xff1a; 这是一个简单的表白功能&#xff0c;可以用于小哥哥小姐姐在情人节向心爱的人表白使用点击信封中间的爱心&#xff0c;会出现一封信由信封向外展开&#xff0c;与此同时会有烟花绽放&#xff0c;并且自动播放背…...

【Python机器学习系列】一文教你实现决策树模型可视化(案例+源码)

这是我的第335篇原创文章。 一、引言 决策树是一个有监督分类模型&#xff0c;本质是选择一个最大信息增益的特征值进行输的分割&#xff0c;直到达到结束条件或叶子节点纯度达到阈值。根据分割指标和分割方法&#xff0c;可分为&#xff1a;ID3、C4.5、CART算法。每一种颜色代…...

如何在Python中使用网页抓取API获得Google搜索结果

SERP是搜索引擎结果页的缩写&#xff0c;它是你在百度、谷歌、Bing等搜索引擎中提交查询后所得到的页面。搜索引擎需要给所有页面做排序&#xff0c;把最能解决我们需求的页面展示给我们&#xff0c;企业会非常关注结果页的排序&#xff0c;也就是本企业内容的自然排名情况。手…...

Postman高频面试题及答案汇总(接口测试必备)

Postman在软件测试的面试中&#xff0c;可以说是必考题了&#xff0c;既然是高频考题&#xff0c;当然得为粉丝宝宝们整理一波题库喽~ 一、Postman在工作中使用流程是什么样的&#xff1f; 二、你使用过Postman的哪些功能&#xff1f; 三、Postman如何管理测试环境&#xff…...

JavaEE 初阶(13)——多线程11之“定时器”

目录 一. 什么是“定时器” 二. 标准库的定时器 三. 定时器的实现 MyTimer 3.1 分析思路 1. 创建执行任务的类。 2. 管理任务 3. 执行任务 3.2 线程安全问题 四. 拓展 一. 什么是“定时器” 定时器是软件开发中的一个重要组件&#xff0c;类似于一个“闹钟”&#xff0…...

2024最新全开源付费进群系统源码二开修复版 支持易支付

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 全开源付费进群系统源码&#xff0c;开源无加密无授权&#xff0c;优化电脑端访问布局&#xff0c;支持dai理&#xff0c;对接易支付通道&#xff0c;dai理可以配置自己易支付接口&am…...

【奥顺苹果CMS二开泛目录4.X版】PHP站群程序新增首页堆砌关键词新增四套seo模板

演示站&#xff08;赠送四套模板&#xff09;&#xff1a; https://macfan.qdwantong.com https://macfan2.qdwantong.com https://macfan3.qdwantong.com https://macfan4.qdwantong.com 4.X版程序特色功能&#xff1a; 后台除了可以设置干扰码、转码、插入符号和拼音这…...

day06 项目实践:router,axios

vue组件的生命周期钩子 今天几乎没有讲什么新内容&#xff0c;就是一起做项目&#xff0c;只有一个小小的知识点&#xff0c;就是关于vue组件的生命周期钩子&#xff0c;其中最重要的四个函数—— beforeCreate()&#xff1a;组件创建之间执行 created()&#xff1a;组件创建…...

⌈ 传知代码 ⌋ 基于矩阵乘积态的生成模型

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...

wordpress hack 主题/郑州seo管理

这是一份精美的PPT模板设计&#xff0c;采用马卡龙配色&#xff0c;整体简约&#xff0c;并且带上了粉红的小女风&#xff0c;一份设计精美的PPT模板&#xff0c;可以让你在汇报演讲时脱颖而出&#xff0c; 模板格式&#xff1a;pptx格式&#xff08;可随意下载编辑&#xff0…...

美容医疗 网站建设/有链接的网站

所谓常量即只能读取不能编辑&#xff08;删除&#xff0c;修改&#xff09;的变量。 js并没有原始的常量说法&#xff08;即自定义的&#xff0c;原生态的&#xff09;&#xff0c;但是可以用一些偏僻的路子去创建。 1&#xff1a;const es6中的声明关键词。 上面声明了两个变量…...

网站个人主页怎么做/百度seo培训要多少钱

第四章课后作业(6—27)6.试按下列要求分别编制程序段。(1)把标志寄存器中符号位SF置“1”。(2)寄存器AL中高、低四位互换。(3)由寄存器AX、BX组成一个32位带符号数(AX中存放高16位)&#xff0c;试求这个数的负数。(4)现有三个字节存储单元A、B、C&#xff0c;在不使用ADD和ADC指…...

中国诗歌网个人网页/东莞seo优化推广

由于注释表明您希望使用初始化程序和initargs参数传递featureVector.在Unix类型的系统上,这将导致大量的性能提升(即使selLabel中只有1个项目),因为该值将使用os.fork基本上免费传递给子进程.否则,每次调用foo时,featureVector都将被父进程pickle,通过管道传递并由子进程进行un…...

网站建站的标准/重庆seo网页优化

1、Base64编码介绍Base64不能称为加解密算法&#xff0c;Base64编码可以把二进制数据转换为可打印的ASCII字符&#xff0c;常用于email消息中的二进制数据编码和HTTP协议中的basic认证。Base64编码之后的ASCII字符串包括64个可打印字符&#xff0c;如下&#xff1a;26个大写字母…...

WordPress多域名登录/搜索引擎优化排名技巧

Monica◆ ◆ ◆ 神经质外加控制欲的莫妮卡 莫妮卡是《六人行》的中心人物&#xff0c;其他五人可以说就是由她延伸出来的。 [个性]像是妈妈般的照顾大家&#xff0c;爱管闲事&#xff0c;让她成为大家的支柱。在市区最炫餐厅担任厨师&#xff0c;不论工作和生活上&#xff0c;凡…...