基于kolla-ansible在openEuler 22.03 SP4上部署OpenStack-2023.2

news/2024/9/18 17:29:50/ 标签: ansible, openstack

测试环境

openEuler-22.03-LTS-SP4-x86_64-dvd.iso
Virtual Box,4 vCPU, 8G RAM, 50 vDisk。安装时删除/home,SWAP分区,全部空间给/目录。
目标是部署OpenStack All-In-One模式,控制节点+计算节点+存储节点在一台机器实现。

系统配置

常用工具
dnf install -y tar git
优化SSH
vi /etc/ssh/sshd_config
UseDNS no
systemctl restart sshd
关闭selinux
sed -i ‘s#SELINUX=enforcing#SELINUX=permissive#g’ /etc/selinux/config
关闭防火墙
systemctl disable --now firewalld
systemctl stop firewalld
systemctl status firewalld
设置主机名,配置hosts文件
hostnamectl set-hostname node1
cat << EOF >> /etc/hosts
192.168.31.115 node1
EOF
设置免密登录
ssh-keygen
ssh-copy-id node1
重启系统
system reboot

安装docker

vi /etc/yum.repos.d/openEuler-docker-ce.repo

[docker-ce-stable]
name=Docker CE Stable - b a s e a r c h b a s e u r l = h t t p s : / / r e p o . h u a w e i c l o u d . c o m / d o c k e r − c e / l i n u x / c e n t o s / 8 / basearch baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/ basearchbaseurl=https://repo.huaweicloud.com/dockerce/linux/centos/8/basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

dnf install -y docker-ce

指定docker加速器,阿里云申请免费
mkdir -p /etc/docker
tee /etc/docker/daemon.json << ‘EOF’
{
“registry-mirrors”: [“https://xxx.mirror.aliyuncs.com”]
}
EOF

systemctl daemon-reload
#启动docker服务
systemctl start docker
systemctl enable docker
systemctl status docker

docker info
docker --version
安装Python docker模块
pip3 install docker

ansible_57">安装ansible

更换pip国内源,加速pip下载安装
mkdir ~/.pip
vi ~/.pip/pip.conf

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

pip3 install ansible
ansible --version
安装后的版本是ansible-8.7.0 + ansible [core 2.15.12]

优化ansible
mkdir /etc/ansible
vi /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100

ansible_79">安装kolla-ansible

安装kolla-ansible需要的依赖
dnf install -y python3-devel libffi-devel gcc openssl-devel python3-libselinux

安装kolla-ansible
kolla-ansible与OpenStack之间版本信息:https://docs.openstack.org/releasenotes/kolla-ansible/
pip3 install pbr
pip3 install kolla-ansible==17.5.0
kolla-ansible --version

从Yoga版本开始需要安装Ansible Galaxy的依赖项
kolla-ansible install-deps

部署OpenStack

创建kolla-ansible配置文件目录
mkdir /etc/kolla
chown U S E R : USER: USER:USER /etc/kolla

配置文件
cp /usr/local/share/kolla-ansible/etc_examples/kolla/globals.yml /etc/kolla/
cp /usr/local/share/kolla-ansible/etc_examples/kolla/passwords.yml /etc/kolla/
cp /usr/local/share/kolla-ansible/ansible/inventory/all-in-one /etc/kolla/

编辑all-in-one
sed -i ‘s#localhost ansible_connection=local#node1 ansible_python_interpreter=/usr/bin/python3#g’ /etc/kolla/all-in-one

生成密码
kolla-genpwd

编辑globals.yml
cat /etc/kolla/globals.yml|grep -v ^#|grep -v ^$

workaround_ansible_issue_8743: yes
kolla_base_distro: “rocky”
openstack_release: “2023.2”
openstack_tag: “2023.2-rocky-9”
node_custom_config: “/etc/kolla/config”
kolla_internal_vip_address: “192.168.31.115”
network_interface: “enp0s3”
neutron_external_interface: “enp0s8”
enable_haproxy: “no”
enable_neutron_provider_networks: “yes”
nova_compute_virt_type: “qemu”

部署安装指定版本库,避免报错。
pip3 install pyOpenSSL==24.2.1
pip3 install cryptography==42.0.0
pip3 install paramiko==3.0.0

已安装过docker,注释掉kolla自动安装docker的任务
vi /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/defaults/ main.yml
enable_docker_repo: false

vi /root/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/tasks/main.yml
#- import_tasks: install.yml

kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers
kolla-ansible -i /etc/kolla/all-in-one prechecks
kolla-ansible -i /etc/kolla/all-in-one deploy
kolla-ansible -i /etc/kolla/all-in-one post-deploy

服务验证

安装openstack客户端
dnf install -y python3-openstackclient

source /etc/kolla/admin-openrc.sh
openstack user list
openstack endpoint list
openstack project list
openstack service list
openstack volume type list
openstack network agent list
openstack compute service list
openstack volume service list
openstack hypervisor list --long

通过浏览器登录到192.168.31.115页面验证Horizon。

部署虚机

openstack flavor create cirros --ram 1024 --vcpus 1 --disk 10
openstack security group create srGrp

openstack image create cirros-0.6.2 --disk-format qcow2 --container-format bare --public --file cirros-0.6.2-x86_64-disk.img
openstack network create oamNet --provider-network-type=vxlan
openstack subnet create oamSubnetv4 --network oamNet --subnet-range 10.16.151.0/24 --gateway 10.16.151.1 --allocation-pool start=10.16.151.5,end=10.16.151.254 --ip-version 4 --no-dhcp
openstack server create --availability-zone nova --image cirros-0.6.2 --flavor cirros --network oamNet --security-group srGrp cirros

openstack network list
openstack image list
openstack subnet list
openstack security group list
openstack server list
openstack flavor list

移除环境

如果需要移除当前的OpenStack环境,可以执行
kolla-ansible -i /etc/kolla/all-in-one destroy all --yes-i-really-really-mean-it


http://www.ppmy.cn/news/1526737.html

相关文章

有哪些方法可以减少脏页标记技术中的磁盘 I/O 操作?

减少脏页标记技术中磁盘 I/O 操作的方法 一、引言 在数据库系统中,脏页标记技术用于跟踪被修改但尚未写入磁盘的数据页。然而,频繁的磁盘 I/O 操作会严重影响数据库的性能。因此,寻找有效的方法来减少脏页标记技术中的磁盘 I/O 操作至关重要。 二、优化脏页标记策略 (一…

Axure设计之全屏与退出全屏交互实现

在Axure RP中&#xff0c;设计全屏与退出全屏的交互功能可以极大地提升用户体验&#xff0c;尤其是在展示产品原型或进行演示时。本文将详细介绍如何在Axure RP中通过结合JavaScript代码实现全屏与退出全屏的交互效果。 ​ Axure原型设计web端交互元件库&#xff1a;https://…

【系统架构设计师】建造者模式(Builder Pattern)

建造者模式详解 1. 什么是建造者模式? 建造者模式(Builder Pattern)是一种创建型设计模式,它允许通过分步构造复杂对象,而无需知道对象内部的具体实现细节。换句话说,建造者模式将对象的创建过程抽象出来,分离对象的构建和表示,使得同样的构建过程可以创建不同类型的…

什么是大模型的推理?

目录 1. 大模型的推理过程原理 2. 简单生动的例子说明大模型推理 3. 学习大模型推理的最好办法 1. 大模型的推理过程原理 大模型的推理过程主要是基于海量数据的训练&#xff0c;来生成或预测出最可能的输出。以语言模型为例&#xff0c;它是通过输入一段文本&#xff08;称…

请求响应-05.请求-日期参数JSON参数

一.日期参数 当浏览器发起的请求参数类型是日期参数时&#xff0c;我们通常使用LocalDateTime对象来接收&#xff0c;前面使用DateTimeFormat注解来完成日期的格式转换&#xff08;日期时间格式有多种&#xff0c;需要哪种就设置为哪种&#xff1a;如yyyy-MM-dd HH:mm:ss&…

基于python+django+vue的鲜花商城系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的线…

Charles mac电脑配置

安装 Charles&#xff1a; 如果你还没有安装 Charles&#xff0c;可以从官方网站下载安装包并按照提示完成安装。 启动 Charles&#xff1a; 安装完成后&#xff0c;启动 Charles 应用程序。 设置 Charles 代理&#xff1a; Charles 默认的代理端口是 8888。你可以通过以下步…

flink增量检查点启动恢复的时间是很久的,业务上不能接受,怎么处理

可以考虑以下几种优化策略和替代方案&#xff0c;以减少恢复时间或提高业务的容忍度&#xff1a; 1. 优化增量检查点恢复时间 a. 合并增量检查点 定期将多个增量检查点合并为一个完整的检查点。合并增量检查点可以减少恢复时需要处理的增量数量&#xff0c;从而加快恢复速度。…

论文速递! Attention-LSTM特征融合,用于剩余使用寿命(RUL)预测

论文标题&#xff1a;Machine Remaining Useful Life Prediction via an Attention-Based Deep Learning Approach 期刊信息&#xff1a;IEEE TIE (中科院1区, JCR Q1 TOP, IF7.5) 引用&#xff1a;Chen Z, Wu M, Zhao R, et al. Machine remaining useful life prediction v…

速通汇编(五)认识段地址与偏移地址,CS、IP寄存器和jmp指令,DS寄存器

一&#xff0c;地址的概念 通常所说的地址指的是某内存单元在整个机器内存中的物理地址&#xff0c;把整个机器内存比作一个酒店&#xff0c;内存单元就是这个酒店的各个房间&#xff0c;给这些房间编的门牌号&#xff0c;类比回来就是内存单元的物理地址 在第一篇介绍debug的…

RK3568 android11 usb摄像头预览分辨率添加多分辨率---解除1080p限制

一&#xff0c;描述 UVC&#xff08;USB Video Class&#xff09;是一种 USB 设备类标准&#xff0c;允许通过 USB 连接的视频设备&#xff08;如摄像头、网络摄像头和其他视频捕捉设备&#xff09;与计算机或其他主机设备进行通信。UVC 使得视频设备的使用变得更加简单和通用…

基于单片机的超声波液位检测系统(论文+源码)

1总体设计 本课题为基于单片机的超声波液位检测系统的设计&#xff0c;系统的结构框图如图2.1所示。其中包括了按键模块&#xff0c;温度检测模块&#xff0c;超声波液位检测模块&#xff0c;显示模块&#xff0c;蜂鸣器等器件设备。其中&#xff0c;采用STC89C52单片机作为主…

【webpack4系列】webpack进阶用法(三)

文章目录 自动清理构建目录产物PostCSS插件autoprefixer自动补齐CSS3前缀移动端CSS px自动转换成rem静态资源内联多页面应用打包通用方案使用sourcemap提取页面公共资源基础库分离利⽤ SplitChunksPlugin 进⾏公共脚本分离利⽤ SplitChunksPlugin 分离基础包利⽤ SplitChunksPl…

【C++】——list

文章目录 list介绍和使用list注意事项 list模拟实现list和vector的不同 list介绍和使用 在C中&#xff0c;list是一个带头双向链表 list注意事项 迭代器失效 删除元素&#xff1a;当使用迭代器删除一个元素时&#xff0c;指向该元素的迭代器会失效&#xff0c;但是不会影响其他…

【开发语言】写程序的两大基本原则(PO和NT原则)

PO&#xff08;Prioritize Operability&#xff09;原则 定义&#xff1a;确保程序能够正常运行&#xff0c;没有基本的语法错误&#xff0c;能够在预定的环境中执行其基本功能。 应用&#xff1a; 代码编写&#xff1a;在编写代码时&#xff0c;始终遵循所选编程语言的语法…

3. 轴指令(omron 机器自动化控制器)——>MC_MoveAbsolute

机器自动化控制器——第三章 轴指令 4 MC_MoveAbsolute变量▶输入变量▶输入输出变量▶输入输出变量 功能说明▶指令详情▶时序图▶重启运动指令▶多重启动运动指令▶异常 示例程序1▶参数设定▶动作示例▶梯形图▶结构文本(ST) 示例程序2▶参数设定▶动作示例▶梯形图▶结构文…

实现CPU压力测试工具的C语言实现

实现CPU压力测试工具的C语言实现 一、背景与需求二、伪代码设计三、C语言实现四、编译和运行五、注意事项在软件开发和系统维护中,CPU压力测试是一项重要任务,用于评估系统的稳定性和性能。本篇文章将详细介绍如何使用C语言结合伪代码实现一个简单的CPU压力测试工具。 一、…

数据库语言、SQL语言、数据库系统提供的两种语言

1.数据库语言 数据库语言有很多种&#xff0c;其中一种是SQL语言。 2. SQL语言 【几乎所有的关系数据库系统都使用SQL语言。】 SQL语言中包含很多不同的部分&#xff0c;有&#xff1a; &#xff08;1&#xff09;DDL语言&#xff08;Data definition language&#xff09;…

多输入多输出 | Matlab实现SSA-BP麻雀搜索算法优化BP神经网络多输入多输出预测

多输入多输出 | Matlab实现SSA-BP麻雀搜索算法优化BP神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现SSA-BP麻雀搜索算法优化BP神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现SSA-BP麻雀搜索算法优化BP神经网络多输…

C/C++语言基础--从C到C++的不同(上)

本专栏目的 更新C/C的基础语法&#xff0c;包括C的一些新特性 前言 之前更新的C语言&#xff0c;感谢大家的点赞收藏关注&#xff0c;接下来我们逐步也开始更新C&#xff1b;C语言后面也会继续更新知识点&#xff0c;如内联汇编&#xff1b;本人现在正在写一个C语言的图书管理系…