openEuler22.03系统使用Kolla-ansible搭建OpenStack

Kolla-ansible 是一个利用 Ansible 自动化工具来搭建 OpenStack 云平台的开源项目,它通过容器化的方式部署 OpenStack 服务,能够简化安装过程、提高部署效率并增强系统的可维护性。

前置环境准备:

系统:openEuler-22.03-LTS-SP4

配置:

4 vCPU, 8G RAM, 100 vDisk

网卡1 ens33 192.168.200.10

网卡2 ens34 192.168.100.10 nat模式网络

1.初始环境准备

安装工具:

[root@localhost ~]# dnf -y install git 

优化SSH

[root@localhost ~]# vi /etc/ssh/sshd_config 
UseDNS no
[root@localhost ~]# systemctl restart sshd 

关闭防火墙

[root@localhost ~]# vi /etc/selinux/config 
SELINUX=disabled
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld && setenforce 0

设置主机名,配置hosts文件

[root@localhost ~]# hostnamectl set-hostname node1
[root@localhost ~]# vi /etc/hosts 
192.168.200.10 node1
[root@localhost ~]# bash

设置免密登录

[root@node1 ~]# ssh-keygen
[root@node1 ~]# ssh-copy-id node1

重启系统

[root@node1 ~]# reboot

2.安装docker

[root@node1 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo
#编辑Docker的yum文件,将所有的$releasever更改为8

安装Docker:

[root@node1 ~]# dnf -y install docker-ce

配置daemon.json文件:

[root@node1 ~]# vi /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.1ms.run","https://docker.1panel.live","https://hub.rat.dev","https://docker.m.daocloud.io","https://do.nark.eu.org","https://dockerpull.com","https://dockerproxy.cn","https://docker.awsl9527.cn"],"exec-opts": ["native.cgroupdriver=systemd"]
}

启动Docker:

[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl restart docker
[root@node1 ~]# systemctl enable docker 

安装Python docker模块

[root@node1 ~]# pip3 install docker

3.安装ansible

更换pip国内源,加速pip下载安装

[root@node1 ~]# mkdir ~/.pip
[root@node1 ~]# vi ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

安装ansible:

[root@node1 ~]# pip3 install ansible==8.7.0
ansible --version
安装后的版本是ansible-8.7.0 + ansible [core 2.15.13]

优化ansible

[root@node1 ~]# mkdir /etc/ansible
[root@node1 ~]# vi /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100

4.安装kolla-ansible

安装kolla-ansible需要的依赖
[root@node1 ~]# dnf install -y python3-devel libffi-devel gcc openssl-devel python3-libselinux
安装kolla-ansible
[root@node1 ~]# pip3 install pbr
[root@node1 ~]# pip3 install kolla-ansible==17.5.0

从Yoga版本开始需要安装Ansible Galaxy的依赖项

[root@node1 ~]# kolla-ansible install-deps

5.部署OpenStack

创建虚拟子接口:(后续给neutron使用)

[root@node1 ~]# ip link add link ens34 name ens34.100 type vlan id 100
[root@node1 ~]# ip addr add 192.168.101.1/24 dev ens34.100
[root@node1 ~]# ip link set dev ens34.100 up
[root@node1 ~]# nmcli connection modify ens34.100 connection.autoconnect yes

创建kolla-ansible配置文件目录

[root@node1 ~]# mkdir /etc/kolla
[root@node1 ~]# chown $USER:$USER /etc/kolla

复制配置文件

[root@node1 ~]# cp /usr/local/share/kolla-ansible/etc_examples/kolla/globals.yml /etc/kolla/
[root@node1 ~]# cp /usr/local/share/kolla-ansible/etc_examples/kolla/passwords.yml /etc/kolla/
[root@node1 ~]# cp /usr/local/share/kolla-ansible/ansible/inventory/all-in-one /etc/kolla/

编辑all-in-one

[root@node1 ~]# sed -i 's#localhost ansible_connection=local#node1 ansible_python_interpreter=/usr/bin/python3#g' /etc/kolla/all-in-one

生成密码

[root@node1 ~]# kolla-genpwd

编辑globals.yml

[root@node1 ~]# vi /etc/kolla/globals.yml
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"
# 内部虚拟 IP 地址
kolla_internal_vip_address: "192.168.200.10"
# 网络接口配置
network_interface: "ens33"  # 本地网络,用于 OpenStack 内部通
信
neutron_external_interface: "ens34.100"  # 虚拟子接口,用于 Neutron 外部网络
# 服务配置
enable_haproxy: "no"
enable_neutron_provider_networks: "yes"
nova_compute_virt_type: "qemu"
# Docker 镜像相关
kolla_external_pull_policy: "ifnotpresent"

部署安装指定版本库,避免发生错误

[root@node1 ~]# pip3 install pyOpenSSL==24.2.1
[root@node1 ~]# pip3 install cryptography==42.0.0
[root@node1 ~]# pip3 install paramiko==3.0.0

我们已经手动安装过docker,注释或修改kolla自动安装docker的任务

[root@node1 ~]# vi $HOME/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/defaults/main.yml
enable_docker_repo: false[root@node1 ~]# vi $HOME/.ansible/collections/ansible_collections/openstack/kolla/roles/docker/tasks/main.yml 
#- import_tasks: install.yml

开始自动化安装:

[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers

[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one prechecks

[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one deploy
##时间比较久,拉取镜像部署容器的过程

[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one post-deploy

查看浏览器控制台密码:
密码:grep keystone_admin /etc/kolla/passwords.yml

访问:192.168.200.10

账户:admin

密码:查看得到的密码

6.服务验证

查看容器是否全部启动:

安装openstack客户端

[root@node1 ~]# pip install python-openstackclient

验证服务:

[root@node1 ~]# source /etc/kolla/admin-openrc.sh
[root@node1 ~]# openstack user list
[root@node1 ~]# openstack service list

至此,openstack平台搭建完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一下vue2项目优化,虚拟列表vue-virtual-scroll-list处理10万条数据

文章目录 封装BrandPickerVirtual.vue组件页面使用组件属性 select下拉接口一次性返回10万条数据,页面卡死,如何优化??这里使用 分页 虚拟列表(vue-virtual-scroll-list),去模拟一个下拉的内容…

【vue】vue的基础语法--上

目录 一、Vue的模板语法 1. 学会使用VsCode 2. 文本插值 3. 使用JavaScript表达式 4. 无效 5. 原始html 二、 属性绑定 1. 属性绑定 2.简写方案 3.布尔型Attribute 4. 动态邦定多个值 三、条件渲染 1. v-if 2. v-else 3. v-else-if 4. v-show 5. v-if VS v-sho…

【ANGULAR网站开发】初始环境搭建(SpringBoot)

1. 初始化SpringBoot 1.1 创建SpringBoot项目 清理spring-boot-starter-test,有需要的可以留着 1.2 application.properties 将application.properties改为yaml,个人习惯问题,顺便设置端口8888,和前端设置的一样 server:por…

C++编码实践,邪恶的非常量全局变量

在编程过程中,避免使用全局变量是一个良好的编程实践建议。当然,这里的全局变量主要是指 非常量全局变量; 尽管在小型项目中,这一点似乎看起来人畜无害,但是在大型项目中往往会出现很多问题。 新手程序员往往比较喜欢使用大量的全局变量,因为这样使用起来方便直接,特别是当设…

OpenCV的对比度受限的自适应直方图均衡化算法

OpenCV的对比度受限的自适应直方图均衡化(CLAHE)算法是一种图像增强技术,旨在改善图像的局部对比度,同时避免噪声的过度放大。以下是CLAHE算法的原理、步骤以及示例代码。 1 原理 CLAHE是自适应直方图均衡化(AHE&…

1.1.2 配置静态IP和远程SSH登录

一、开放22端口 方法一:开放SSH服务(推荐,不需要改动) 查看配置文件,已经默认开放ssh服务端口了,ssh默认为22端口,所以不需要改动文件 方法二:开放22端口 (1&#xff0…

Python离散化

离散化 离散化:不关注数字本身,只关注大小关系时,利用排名代替原数据 本质:一种哈希,将离散的数字、浮点数,转换成 1 − n 1-n 1−n 例如:【 100 , 200 , 300 &#…

Soildworks的学习【2025/1/12】

右键空白处,点击选项卡,即可看到所有已调用的选项卡: 点击机械小齿轮选项卡,选择文档属性,选择GB国标: 之后点击单位,选择MMGS毫米单位: 窗口右下角有MMGS,这里也可以选择…

web前端第五次作业---制作菜单

制作菜单 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style…

孤独症孩子能上职业学校吗:探索发展路径与机会

在教育的广阔天地中&#xff0c;每一个孩子都应享有平等的学习机会和发展空间&#xff0c;孤独症&#xff08;自闭症&#xff09;儿童也不例外。星贝育园康复中心&#xff0c;作为全国规模较大的广泛性发育障碍全托寄宿制儿童康复训练机构&#xff0c;一直在探索和实践孤独症孩…

GAN的应用

5、GAN的应用 ​ GANs是一个强大的生成模型&#xff0c;它可以使用随机向量生成逼真的样本。我们既不需要知道明确的真实数据分布&#xff0c;也不需要任何数学假设。这些优点使得GANs被广泛应用于图像处理、计算机视觉、序列数据等领域。上图是基于GANs的实际应用场景对不同G…

分治算法——优选算法

本章我们要学习的是分治算法&#xff0c;顾名思义就是分而治之&#xff0c;把大问题分为多个相同的子问题进行处理&#xff0c;其中我们熟知的快速排序和归并排序用的就是分治算法&#xff0c;所以我们需要重新回顾一下这两个排序。 一、快速排序&#xff08;三路划分&#xf…

解决el-table表格数据量过大导致页面卡顿问题 又名《umy-ui---虚拟表格仅渲染可视区域dom的神》

后台管理系统的某个页面需要展示多个列表 数据量过多 页面渲染dom卡顿 经调研发现两个组件 pl-table和umy-ui &#xff08;也就是u-table&#xff09; 最终决定使用umy-ui 它是专门基于 Vue 2.0 的桌面端组件库 流畅渲染表格万级数据 而且他是对element-ui的表格做了二次优化…

单元测试概述入门

引入 什么是测试&#xff1f;测试的阶段划分&#xff1f; 测试方法有哪些&#xff1f; 1.什么是单元测试&#xff1f; 单元测试&#xff1a;就是针对最小的功能单元&#xff08;方法&#xff09;&#xff0c;编写测试代码对其正确性进行测试。 2.为什么要引入单元测试&#x…

Xcode 正则表达式实现查找替换

在软件开发过程中&#xff0c;查找和替换文本是一项常见的任务。正则表达式&#xff08;Regular Expressions&#xff09;是一种强大的工具&#xff0c;可以帮助我们在复杂的文本中进行精确的匹配和替换。Xcode 作为一款流行的开发工具&#xff0c;提供了对正则表达式的支持。本…

基于微信小程序的电影交流平台设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

全网首发:编译libssh,产生类似undefined reference to `EVP_aes_256_ctr@OPENSSL_1_1_0‘的大量错误

具体错误 前面和后面的&#xff1a; /opt/linux/x86-arm/aarch64-mix210-linux/host_bin/../lib/gcc/aarch64-linux-gnu/7.3.0/../../../../aarch64-linux-gnu/bin/ld: warning: libcrypto.so.1.1, needed by ../lib/libssh.so.4.10.1, not found (try using -rpath or -rpat…

GAMES101学习笔记(三):Rasterization 光栅化(三角形的离散化、抗锯齿、深度测试)

文章目录 视口变换 Viewport三角形网格 Triangle Mesh采样 Sampling走样/反走样 Aliasing/Antialiasing采样频率、空间域与频率域深入理解采样、走样、反走样反走样总结深度测试 Depth testing 课程资源&#xff1a;GAMES101-现代计算机图形学入门-闫令琪 Lec5 ~ Lec6 学习笔记…

PythonOpenCV图片识别

在windows下面&#xff0c;使用python opencv 进行识别&#xff0c;获取到坐标。 依赖安装&#xff1a; pip install opencv-python pip install numpy pip install pyautogui pip install pywin32代码&#xff1a; import cv2 import numpy as np import pyautogui import o…

《分布式光纤传感:架设于桥梁监测领域的 “智慧光网” 》

桥梁作为交通基础设施的重要组成部分&#xff0c;其结构健康状况直接关系到交通运输的安全和畅通。随着桥梁建设规模的不断扩大和服役年限的增长&#xff0c;桥梁结构的安全隐患日益凸显&#xff0c;传统的监测方法已难以满足对桥梁结构健康实时、全面、准确监测的需求。分布式…