一文通关物理机Ubuntu22.04融合部署OpenStack

news2025/2/25 19:14:15

前言

因为博主笔记本是amd的,就最近搞了个小主机,就想装个云平台玩玩,搞了三四天才正儿八经弄完,摸了一大堆错误出来,在文章前面我会将这些需要注意的点列举出来。

环境

物理环境:

i5 12450H

32G内存

无线网卡、以太网口各一个

2T SSD、500G HHD

软件环境:
OpenStack-Yoga-allinone部署

Ubuntu22.04.3

安装前注意点

1、需要有一个网卡需要是空闲并且没有ip的状态,否则会出现错误
在博主环境中,主机用无线网卡联网,用贝锐的向日葵做了大二层隧道进行远程,使用以太网卡作为“外部接口”
你要是网口多那当我没说
2、需要有空闲物理卷能够创建卷组,或者能修改卷组名亦可
3、千万不要自己装ovs等软件,会报错,因为ovs服务直接跑在docker里了
4、全局文件/etc/kolla/globals.yml,需要根据你的信息进行调整网卡、ip等
5、docker镜像一定要按照步骤换源,不然会非常非常慢
安装部署的时间比较久,大部分时间都在下载docker镜像与重启container
6、不要全部大块复制粘贴,有些是需要自定义的
7、要是想安装另外版本的OpenStack,只要重新对OpenStack源和docker镜像源进行配置,再下载即可
8、有报错记得留言

Yoga版本

#安装软件
apt update
apt install git python3-dev libffi-dev gcc libssl-dev
#使用venv作为虚拟环境工具
apt install python3-venv 
#创建虚拟环境路径,也可以自定路径
mkdir /path && mkdir /path/to 
python3 -m venv /path/to/venv
#切换到虚拟环境
source /path/to/venv/bin/activate
#换源与安装OpenStack
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install 'ansible>=4,<6'
pip install git+https://opendev.org/openstack/kolla-ansible@stable/yoga
pip install git+https://jihulab.com/james-curtis/kolla-ansible@stable/yoga
mkdir -p /etc/kolla
chown $USER:$USER /etc/kolla
#注意自定路径
cp -r /path/to/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
cp /path/to/venv/share/kolla-ansible/ansible/inventory/* .

#playbook的缩进比较难搞,所以直接vim手动换吧
vim /path/to/venv/share/kolla-ansible/requirements.yml
换成https://jihulab.com/james-curtis/ansible-collection-kolla

#安装kolla-ansible依赖
kolla-ansible install-deps

#配置ansible默认文件
mkdir /etc/ansible 
echo "[defaults]
host_key_checking=False
pipelining=True
forks=100" > /etc/ansible/ansible.cfg

#因为采用了allinone安装
#添加localhost ansible_python_interpreter=python到all-in-one的开头
sed '1i localhost ansible_python_interpreter=python' /path/to/venv/share/kolla-ansible/ansible/inventory/all-in-one

#配置全局文件,需要根据你的信息进行调整
echo '
#基础配置:
kolla_base_distro: ubuntu   #系统配置,修改为ubuntu即可
openstack_release: yoga     #openstack版本
kolla_internal_vip_address: "172.16.2.153" #使用内部网卡的ip,如果HA选项选择yes,则可以采用单独ip
network_interface: oray_vnc         #内部网卡名称
neutron_external_interface: enp3s0  #外部网卡名称,此网卡需要up并且没有ip
#服务组件配置:
enable_haproxy: "no" #高可用,如果为yes则kolla_internal_vip_address可以使用独立IP
enable_cinder: "yes" #块存储
enable_cinder_backup: "no"       #是否备份
enable_cinder_backend_lvm: "yes" #使用逻辑存储
enable_neutron_provider_networks: "yes" # 启用外部网络
nova_compute_virt_type: "kvm"    #虚拟化类型(物理机用kvm,VMWare使用qemu)
nova_console: "spice"
' > /etc/kolla/globals.yml

#配置密码,并录入密码文件
kolla-genpwd
sed -i 's/^keystone_admin_password.*/keystone_admin_password: 自定义密码/' /etc/kolla/passwords.yml
#给docker换源,不然下载会很慢
sed -i.bak 's/#docker_registry:/docker_registry: quay.nju.edu.cn/g' /etc/kolla/globals.yml

#配置存储,需要一个名字叫做cinder-volumes的卷组
#具体分区可以自由fdisk,我是将整块sda都分出去了
mkfs.ext4   /dev/sda
pvcreate    /dev/sda
vgcreate  cinder-volumes  /dev/sda

cd /path/to/venv/share/kolla-ansible/ansible/inventory/
#基础环境安装
kolla-ansible -i ./all-in-one bootstrap-servers
#检查
kolla-ansible -i ./all-in-one prechecks
#开始部署,会花费很久,特别是如果你的网络很差还没有换源
kolla-ansible -i ./all-in-one deploy
#安装完成

验证

网页登录network_interface的ip——我前面global文件中写的是172.16.2.153,这里网址就是172.16.2.153
账户admin
密码前面自定义的密码



 

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

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

相关文章

Windows微软常用运行库合集2023

微软常用运行库合集适用于Windows系统的运行库合集包&#xff0c;基于微软官方的运行库而制作的&#xff0c;包括了常用的vb&#xff0c;vc2005/2008/2010/2012/2013/2017/2019/2005-2022&#xff0c;Microsoft Universal C Runtime&#xff0c;VS 2010 Tools For Office Runti…

实用工具网站合集值得收藏![搜嗖工具箱]

最近一段时间有点忙&#xff0c;一直没有更新在此给大家说声抱歉哈&#xff0c;有些小伙伴儿私信说想要用到的工具&#xff0c;茶壶儿也会尽可能满足大家&#xff01;今天我们要分享的工具主要有以下几款&#xff0c;我们来一起看一下吧&#xff1f; 一帧秒创 https://aigc.y…

ctfhub技能树_web_web前置技能_HTTP

目录 一、HTTP协议 1.1、请求方式 1.2、302跳转 1.3、Cookie 1.4、基础认证 1.5、响应包源代码 一、HTTP协议 1.1、请求方式 注&#xff1a;HTTP协议中定义了八种请求方法。这八种都有&#xff1a;1、OPTIONS &#xff1a;返回服务器针对特定资源所支持的HTTP请求方法…

jsp 管理员登录界面与登录验证

验证分两种情况 &#xff0c;成功&#xff0c;进入管理员页&#xff0c;可以看信息和删记录 失败&#xff0c;直接给出登录失败&#xff0c;然后重新登录 login.jsp <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF…

基于51单片机控制恒压供水系统设计

**单片机设计介绍&#xff0c;基于51单片机的篮球计分器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 设计一个基于51单片机控制的恒压供水系统是一个复杂的工程&#xff0c;涉及到硬件设计和软件编程等多个方面。以下是一…

TypeScript编程语言学习,为学习HarmonyOS开发做准备

1. 编程语言 ArkTS是HarmonyOS优选的应用开发语言&#xff0c;它在TypeScript&#xff08;TS&#xff09;的基础上&#xff0c;匹配ArkUI扩展&#xff0c;扩展了声明式UI、状态管理等相应的能力。 JavaScript&#xff08;JS&#xff09;&#xff0c;使用在Web应用开发&#xf…

MacOS qemu运行loongarch linux

本文章参考了 https://github.com/LeisureLinux/bilibili/blob/master/scripts/qemu-busybox.sh#L205 windows qemu安装飞腾Aarch64 Loongarch64 操作系统 亲测_qemu安装arm系统-CSDN博客 https://www.cnblogs.com/missed-forest/p/17667862.html 1. 安装qemu brew instal…

在linux服上部署vue+springboot+nginx项目

一、环境准备 1、安装winscp便于可视化操作linux&#xff1a;winscp安装及关联putty使用_putty.exe没有找到_cherishSpring的博客-CSDN博客 2、安装jdk&#xff1a;linux系统安装jdk-CSDN博客 3、安装mysql&#xff1a;Linux7安装mysql数据库以及navicat远程连接mysql-CSDN博…

opencv知识库:利用cv2.resize()函数进行图像缩放

引言 在numpy知识库&#xff1a;深入理解numpy.resize函数和数组的resize方法中&#xff0c;小编较为详细地探讨了numpy的resize函数背后的机理。从结果来看&#xff0c;numpy.resize函数并不适合对图像进行缩放操作。而opencv中的resize函数虽然和numpy的resize函数同名&…

Hdoop学习笔记(HDP)-Part.19 安装Kafka

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

《功能磁共振多变量模式分析中空间分辨率对解码精度的影响》论文阅读

《The effect of spatial resolution on decoding accuracy in fMRI multivariate pattern analysis》 文章目录 一、简介论文的基本信息摘要 二、论文主要内容语音刺激的解码任务多变量模式分析&#xff08;MVPA&#xff09;K空间 空间分辨率和平滑对MVPA的影响平滑的具体过程…

SpringBoot+SSM项目实战 苍穹外卖(2)

继续上一节的内容&#xff0c;本节完成新增员工、员工分页查询、启用禁用员工账号、编辑员工、导入分类模块功能代码。 目录 新增员工(完整流程分为以下五个部分)需求分析和设计代码开发功能测试代码完善 (ThreadLocal 线程局部变量)代码提交 员工分页查询代码完善 扩展Spring …

【LeetCode刷题笔记】103. 二叉树的锯齿形层序遍历

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

【数据结构】 堆排序与TopK问题详解

在学习完堆的创建后&#xff0c;就轮到了标题的两个问题 这两个问题在实际生活中会有比较强的实际问题解决能力 先分别解释一下 堆排序&#xff1a; 运用堆的思想进行排序&#xff0c;时间复杂度为O(NlogN)TopK&#xff1a; 从一大堆数据中选择K个最大或最小的数据&#xff0c…

oj赛氪练习题

数组调整 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int k scanner.nextInt();int[] arr new int[n];for (int i 0; i < n; i) {arr[i] scanner.nextIn…

充电桩自检流程

1、常规自检流程介绍 充电桩自检流程通常包括以下几个方面&#xff1a; 外观检查&#xff1a;检查充电桩外观是否完好&#xff0c;无损坏、严重污染等问题。连接检查&#xff1a;检查充电桩与电源的连接是否牢固&#xff0c;线缆是否完整无损。安全性检查&#xff1a;检查充电…

750mA Linear Charger with Power Path Management

一、General Description YHM2711 is a highly integrated, single-cell Li-ion battery charger with system power path management for space-limited portable applications. The full charger function features Trickle-charge, constant current fast charge and const…

Upsert 及冲突(GORM)

GORM支持了数据库的upsert操作 upsert操作对于插入一条数据而言的&#xff0c;如果插入数据之前&#xff0c;没有这条数据&#xff0c;则会插入该条数据&#xff1b;如果插入数据之前就存在这条数据&#xff08;索引值&#xff09;&#xff0c;就更新这条记录。 创建结构体 …

tar文件覆盖漏洞 CVE-2007-4559

文章目录 前言原理例题 [NSSRound#7 Team]新的博客方法一 手搓文件名方法二 python脚本 前言 做到[NSSRound#6 Team]check(Revenge)时发现是tar文件覆盖&#xff0c;但是对概念和执行过程理解不够深就光光记住脚本&#xff0c;所以在做本题[NSSRound#7 Team]新的博客时打算重新…

Linux中的文件IO

文章目录 C语言文件操作系统文件I/O接口介绍 open函数返回值文件描述符fd0 & 1 & 2文件描述符的分配规则 重定向使用 dup2 系统调用 FILE理解文件系统理解硬链接软链接acm 动态库和静态库静态库与动态库生成静态库生成动态库&#xff1a; C语言文件操作 先来段代码回顾…