基于kolla-ansible在AnolisOS8.6上部署all-in-one模式OpenStack-Train

测试环境

Anolis OS8.6
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

升级Python3

yum install -y python39-pip python39-devel python39

rm -f /etc/alternatives/pip3
ln -s /usr/bin/pip3.9 /etc/alternatives/pip3

rm -f /etc/alternatives/python3
ln -s /usr/bin/python3.9 /etc/alternatives/python3

安装docker

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum clean all
yum makecache

yum 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<5.0.0”

安装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 --upgrade pip
pip3 install setuptools-rust
pip3 install ansible==2.9.27
ansible --version

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

ansible-config view

安装kolla-ansible

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

安装kolla-ansible
版本信息 https://docs.openstack.org/releasenotes/kolla-ansible/
pip3 install pbr
pip3 install kolla-ansible==9.3.2

部署OpenStack

#创建kolla-ansible配置文件目录
mkdir /etc/kolla
chown $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/

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

生成密码
kolla-genpwd

修改/etc/kolla/globals.yml文件
cat /etc/kolla/globals.yml|grep -v ^#|grep -v ^$
kolla_base_distro: “centos”
kolla_install_type: “source”
openstack_release: “train”
openstack_tag: train"
node_custom_config: “/etc/kolla/config”
kolla_internal_vip_address: “192.168.31.115”
docker_registry: 192.168.31.115:5000
network_interface: “enp0s3”
neutron_external_interface: “enp0s8”
neutron_plugin_agent: “openvswitch”
enable_haproxy: “no”
enable_neutron_provider_networks: “yes”
nova_compute_virt_type: “qemu”

pip3 install Jinja2==3.0.3
pip3 install requests==2.28.0
pip3 install cryptography==42.0.0
pip3 install chardet==4.0.0
pip3 install pyOpenSSL==24.2.1

vi /usr/local/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml
enable_docker_repo: false

vi /usr/local/share/kolla-ansible/ansible/roles/baremetal/tasks/install.yml
注释掉install pip部分

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客户端
pip3 install python-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

Horizon打不开问题

cd /etc/kolla/horizon/
vi horizon.conf
/var/lib/kolla/venv/lib/python3.6 改为/var/lib/kolla/venv/lib/python2.7
docker restart horizon
通过浏览器登录到192.168.31.114页面验证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.mfbz.cn/a/882040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

旋转机械故障诊断 震动故障分析与诊断

旋转机械故障诊断 机理资料整理 电气故障&#xff0c;机械故障(不平衡&#xff0c;不对中&#xff0c;松动&#xff0c;轴承&#xff0c;共振&#xff0c;流体振动&#xff0c;皮带松动)&#xff0c;低速与高速机器故障诊断等 旋转机械故障诊断&#xff1a;机理资料整理 目录…

音视频入门基础:AAC专题(10)——FFmpeg源码中计算AAC裸流每个packet的pts、dts、pts_time、dts_time的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

移动硬盘‘需格式化‘困境:原因剖析、恢复策略与预防之道

困境直击&#xff1a;移动硬盘为何需格式化才能访问&#xff1f; 在数字化时代&#xff0c;移动硬盘作为数据存储与传输的重要工具&#xff0c;其稳定性与可靠性直接关系到用户数据的安全。然而&#xff0c;不少用户在使用过程中遭遇了“移动硬盘需要格式化才能打开”的尴尬境…

Stable Diffusion 优秀博客转载

初版论文地址&#xff1a;https://arxiv.org/pdf/2112.10752 主要流程图&#xff1a; Latent Diffusion Models&#xff08;LDMs&#xff09; DDPM是"Denoising Diffusion Probabilistic Models"的缩写&#xff0c; 去噪扩散概率模型 博客&#xff1a; 【论文阅读…

【LeetCode】146. LRU缓存

1.题目 2.思想 3.代码 3.1 代码1 下面这是一版错误的代码。错误的原因在于逻辑不正确导致最后的代码也是不正确的。 class LRUCache:def __init__(self, capacity: int):self.time 0 # 用于全局记录访问的时间self.num2time {} # 数字到时间的映射self.key2val {} # 数字…

OpenCV特征检测(8)检测图像中圆形的函数HoughCircles()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在灰度图像中使用霍夫变换查找圆形。 该函数使用霍夫变换的一种修改版本在灰度图像中查找圆形。 例子&#xff1a; #include <opencv2/imgp…

对抗攻击的详细解析:原理、方法与挑战

对抗攻击的详细解析&#xff1a;原理、方法与挑战 对抗攻击&#xff08;Adversarial Attack&#xff09;是现代机器学习模型&#xff0c;尤其是深度学习模型中的一个关键安全问题。其本质在于&#xff0c;通过对输入数据添加精微的扰动&#xff0c;人类难以察觉这些扰动&#…

计算机网络:概述 --- 体系结构

目录 一. 体系结构总览 1.1 OSI七层协议体系结构 1.2 TCP/IP四层(或五层)模型结构 二. 数据传输过程 2.1 同网段传输 2.2 跨网段传输 三. 体系结构相关概念 3.1 实体 3.2 协议 3.3 服务 这里我们专门来讲一下计算机网络中的体系结构。其实我们之前…

前端组件库Element UI 的使用

一、准备工作 1.确保安装了开发软件 VS Code&#xff08;此处可查阅安装 VS Code教程&#xff09;&#xff0c;确保相关插件安装成功 2.安装Node.js 和创建Vue项目&#xff08;此处可查阅安装创建教程&#xff09; 3.成功在VS Code运行一个Vue项目&#xff08;此处可查阅运行…

Pybullet 安装过程

Pybullet 安装过程&#xff08;windows&#xff09; 1. 安装C编译工具2. 安装Pybullet 1. 安装C编译工具 pybullet 需要C编译套件&#xff0c;直接装之前检查下&#xff0c;要不会报缺少某版本MVSC的error&#xff0c;最好的方式是直接下载visual studio&#xff0c;直接按默认…

信息安全工程师(8)网络新安全目标与功能

前言 网络新安全目标与功能在当前的互联网环境中显得尤为重要&#xff0c;它们不仅反映了网络安全领域的最新发展趋势&#xff0c;也体现了对网络信息系统保护的不断加强。 一、网络新安全目标 全面防护与动态应对&#xff1a; 目标&#xff1a;建立多层次、全方位的网络安全防…

【渗透测试】-vulnhub源码框架漏洞-Os-hackNos-1

vulnhub源码框架漏洞中的CVE-2018-7600-Drupal 7.57 文章目录  前言 1.靶场搭建&#xff1a; 2.信息搜集&#xff1a; 主机探测&#xff1a; 端口扫描&#xff1a; 目录扫描&#xff1a; 3.分析&#xff1a; 4.步骤&#xff1a; 1.下载CVE-2018-7600的exp 2.执行exp: 3.写入木…

【C++篇】引领C++模板初体验:泛型编程的力量与妙用

文章目录 C模板编程前言第一章: 初始模板与函数模版1.1 什么是泛型编程&#xff1f;1.1.1 为什么要有泛型编程&#xff1f;1.1.1 泛型编程的优势 1.2 函数模板的基础1.2.1 什么是函数模板&#xff1f;1.2.2 函数模板的定义格式1.2.3 示例&#xff1a;通用的交换函数输出示例&am…

Redis面试真题总结(四)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ AOF 持久化&#xff1f; AOF&#xff08;Append Only File&#x…

ETCD学习使用

一、介绍 etcd&#xff08;分布式键值存储&#xff09;是一个开源的分布式系统工具&#xff0c;用于可靠地存储和提供键值对数据。etcd 通常通过 HTTP 或 gRPC 提供 API&#xff0c;允许应用程序通过简单的接口与其交互。由于其可靠性和稳定性&#xff0c;etcd 在构建可扩展、分…

【OpenAI o1背后技术】Sef-play RL:LLM通过博弈实现进化

【OpenAI o1背后技术】Sef-play RL&#xff1a;LLM通过博弈实现进化 OpenAI o1是经过强化学习训练来执行复杂推理任务的新型语言模型。特点就是&#xff0c;o1在回答之前会思考——它可以在响应用户之前产生一个很长的内部思维链。也就是该模型在作出反应之前&#xff0c;需要…

k8s中pod的创建过程和阶段状态

管理k8s集群 kubectl k8s中有两种用户 一种是登录的 一种是/sbin/nologin linux可以用密码登录&#xff0c;也可以用证书登录 k8s只能用证书登录 谁拿到这个证书&#xff0c;谁就可以管理集群 在k8s中&#xff0c;所有节点都被网络组件calico设置了路由和通信 所以pod的ip是可以…

WebRTC编译后替换libwebrtc.aar时提示找不到libjingle_peerconnection_so.so库

Loading native library: jingle_peerconnection_so 问题原因&#xff1a;编译的时候只编译了armeabi-v7a的版本&#xff0c;但是应用程序是arm64-v8a&#xff0c;所以无法运行 解决方法&#xff1a;更新编译脚本&#xff0c;加上arm64-v8a进行编译 ./tools_webrtc/android/bu…

【漏洞复现】用友 NC-Cloud queryStaffByName Sql注入漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

windows 驱动实例分析系列-COM驱动案例讲解

COM也被称之为串口,这是一种非常简单的通讯接口,这种结构简单的接口被广泛的应用在开发中,几乎所有系统都能支持这种通讯接口,它有RS232和RS485等分支,但一般我们都会使用RS232作为常见的串口,因为它足够简单和高效。 几乎所有的开发板,都会提供用于烧录、调试、日志的…