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

openstack单机安装

openstack单机安装

  • 网卡配置
  • 安装依赖
  • 开启虚拟环境
    • 修改配置文件
  • 部署openstack
  • 部署openstack客户端
  • 访问可视化界面Horizon
  • 补充

本篇主要讲述Ubuntu2204单机安装openstackstable/2024.2。其他版本的Linux系统或者openstack版本,请参考openstack官网。

网卡配置

需要配置两块网卡,一个用于内部网络(management 网络),一个用于外部网络(provider 网络),外部网络不能配置ip
网卡配置如下:

network:version: 2renderer: networkdethernets:eth0:addresses:- 10.0.0.100/24gateway4: 10.0.0.2nameservers:addresses: [180.76.76.76, 223.6.6.6]eth1:dhcp4: noaddresses: []  # 不分配 IP 地址

安装依赖

sudo apt update
sudo apt install -y git python3-dev libffi-dev gcc libssl-dev 

为了防止环境冲突,后续所有操作都在虚拟环境中进行。

开启虚拟环境

sudo apt install -y python3-venv
python3 -m venv /path/to/venv
source /path/to/venv/bin/activate
pip install -U pip
pip install 'ansible-core>=2.16,<2.17.99'
pip install git+https://opendev.org/openstack/kolla-ansible@stable/2024.2
pip install "docker<7.0.0,>=6.0.0" "requests<2.32" dbus-python
sudo apt-get update
sudo apt-get install -y pkg-config libdbus-1-dev libglib2.0-dev
sudo mkdir -p /etc/kolla
sudo 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/all-in-one .
kolla-ansible install-deps
kolla-genpwd

修改配置文件

  1. /etc/kolla/globals.yml
kolla_base_distro: "ubuntu"
openstack_tag_suffix: ""
network_interface: "eth0"
neutron_external_interface: "eth1"
# 因为是all-in-one,所以vip配置为本机的网卡ip
kolla_internal_vip_address: "10.0.0.100"
# 因为是all-in-one,所以关闭haproxy
enable_haproxy: "no"

部署openstack

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

部署openstack客户端

pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/2024.2
mkdir -p /etc/kolla/ansible/inventory
cp all-in-one /etc/kolla/ansible/inventory/all-in-one
kolla-ansible post-deploy
mkdir -p ~/.config/openstack
cp /etc/kolla/clouds.yaml /etc/openstack
# 创建测试案例
/path/to/venv/share/kolla-ansible/init-runonce

访问可视化界面Horizon

ip为部署主机的ip地址
Horizon的访问ip
直接输入访问ip,即可访问,用户名admin,密码是生成的随机密码需要/etc/kolla/passwords.yml文件中寻找,如下图所示。
在这里插入图片描述
在这里插入图片描述

成功登录,登录后的界面如下图所示
在这里插入图片描述

补充

如果虚拟环境推出,需要重新登录虚拟环境进行操作,命令如下:

# 开启虚拟环境
source /path/to/venv/bin/activate

想要使用 openstack 的命令行客户端操作openstack,需要先加载认证文件(export 包含认证信息的环境变量),命令如下:

# 这组变量用于以某个项目(Project)的权限范围进行认证。
# 用户将在指定的项目(OS_PROJECT_NAME)中执行操作。
# 适用于大多数日常操作,例如创建虚拟机、管理网络等。
. /etc/kolla/admin-openrc.sh
# 这组变量用于以系统范围(System Scope)的权限进行认证。
# 用户将拥有对整个 OpenStack 系统的管理权限,而不仅限于某个项目。
# 适用于 OpenStack 管理员执行全局管理任务。
# 用户需要执行系统级别的操作,例如管理域(Domain)、项目(Project)、用户(User)、角色(Role)等。
. /etc/kolla/admin-openrc-system.sh
http://www.lryc.cn/news/526171.html

相关文章:

  • Vue3实现小红书瀑布流布局任意组件动态更新页面方法实践
  • 深度学习项目--基于LSTM的糖尿病预测探究(pytorch实现)
  • Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
  • python+playwright自动化测试(四):元素操作(键盘鼠标事件)、文件上传
  • 【论文+源码】Diffusion-LM 改进了可控文本生成
  • 双目立体校正和Q矩阵
  • vscode 自用插件
  • OpenCV:在图像中添加高斯噪声、胡椒噪声
  • DuckDB:Golang操作DuckDB实战案例
  • MySQL入门(数据库、数据表、数据、字段的操作以及查询相关sql语法)
  • kotlin的协程的基础概念
  • Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)
  • 隐藏php版本信息x-powered-by
  • 哈夫曼树(构建、编码、译码)(详细分析+C++代码实现)
  • C++ 二叉搜索树
  • docker构建Java项目镜像常用的Java版本,国内私有仓库公网快速下载,解决从docker.io无法下载的问题
  • 低代码系统-氚云、简道云表单控件对比
  • 为什么IDEA提示不推荐@Autowired❓️如果使用@Resource呢❓️
  • Unity在WebGL中拍照和录视频
  • 爬虫基础之爬取某站视频
  • mongoDB常见指令
  • 人工智能之深度学习_[5]-神经网络优化学习率衰减优化正则化方法
  • Oracle之Merge into函数使用
  • 深度解析:哪种心磁图技术是心脏检查的精准之选?
  • SpringBoot--基本使用(配置、整合SpringMVC、Druid、Mybatis、基础特性)
  • 单片机-STM32 IIC通信(OLED屏幕)(十一)
  • 观察者模式 - 观察者模式的应用场景
  • 【C++】详细讲解继承(下)
  • 消息队列篇--原理篇--Pulsar(Namespace,BookKeeper,类似Kafka甚至更好的消息队列)
  • 扬帆数据结构算法之舟,启航C++探索征途——LeetCode深度磨砺:顺序表技术精进实践