基于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.mzph.cn/web/53081.shtml

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

相关文章

Give azure openai an encyclopedia of information

题意&#xff1a;给 Azure OpenAI 提供一部百科全书式的信息 问题背景&#xff1a; I am currently dabbling in the Azure OpenAI service. I want to take the default model and knowledge base and now add on to it my own unique information. So, for example, for mak…

深度学习的笔记

1. 从huggingface上仅下载pytorch模型权重和配置文件到服务器 import os import shutil from huggingface_hub import snapshot_download# 直接指定模型和下载路径 model_name openai/clip-vit-base-patch32 download_path /home/xxx/.cache/huggingface/hub/models--anas-a…

Oracle按照某一字段值排序并显示,相同的显示序号

Oracle按照某一字段值排序并显示,相同的显示序号 最近的工作遇到对于相同的字段,按照序号去显示值,并对相同的值进行排序 实验了半天,感觉满意的答案,分享给大家 第一种: ROW_NUMBER 语法: ROW_NUMBER() OVER (ORDER BY your_column) AS sequence_number 说明: 根据your_column…

leetcode21. 合并两个有序链表

思路&#xff1a; 用一个新链表来表示合并后的有序链表&#xff0c; 每次比较两个链表&#xff0c;将较小的那个结点存储至新链表中 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextNone): # self.val val # …

智能车镜头组入门(二)电路硬件的设计

自己设计的板子是参赛的必备条件&#xff0c;硬件在前期的投入比较高&#xff0c;后期基本上没问题。我们组就在硬件上吃了些亏。 负压镜头组需要四块板&#xff0c;一个电机驱动板&#xff0c;一个主板&#xff0c;另一个是无刷电调。 前文也说过&#xff0c;我们用的是mini…

[mysql]mysql排序和分页

#排序和分页本身是两块内容,因为都比较简单,我们就把它分到通一个内容里. #1排序: SELECT * FROM employees #我们会发现,我们没有做排序操作,但是最后出来的107条结果还是会按顺序发出,而且是每次都一样.这我们就有一个疑惑了,现在我们的数据库是根据什么来排序的,在我们没有进…

【与C++的邂逅】--- C++的IO流

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 与C的邂逅 本篇博客我们来了解C中io流的相关知识。 &#x1f3e0; C语言输入输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 sc…

论文解读《LaMP: When Large Language Models Meet Personalization》

引言&#xff1a;因为导师喊我围绕 “大语言模型的个性化、风格化生成” 展开研究&#xff0c;所以我就找相关论文&#xff0c;最后通过 ACL 官网找到这篇&#xff0c;感觉还不错&#xff0c;就开始解读吧&#xff01; “说是解读&#xff0c;其实大部分都是翻译哈哈哈&#x…

系统安全设计规范(Word完整版)

1.1 总体设计 1.1.1 设计原则 1.2 物理层安全 1.2.1 机房建设安全 1.2.2 电气安全特性 1.2.3 设备安全 1.2.4 介质安全措施 1.3 网络层安全 1.3.1 网络结构安全 1.3.2 划分子网络 1.3.3 异常流量管理 1.3.4 网络安全审计 1.3.5 网络访问控制 1.3.6 完整性检查 1.…

Cpp类和对象(上)(3)

文章目录 前言一、面向过程与面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及类的封装类的访问限定符类的封装 五、类的作用域(类域)六、类的实例化七、类对象模型如何计算类对象的大小类对象的存储方式猜测 八、this指针this指针的引出this指针的特性 九、C语言…

1×1卷积核【super star 卷积核】

一、11卷积的作用 我们先来给出11卷积的一般作用&#xff0c;如下所示&#xff1a; • 跨通道的特征整合 • 特征通道的升维与降维 • 减少权重参数&#xff08;卷积核参数&#xff09; 【 简化模型 】 1.1 特征通道的升维与降维/跨通道的特征整合/简化模型 输入数据&…

Node.js 多版本安装与切换指南

一.使用nvm的方法 1. 卸载nodejs 如果你的电脑有安装nodejs&#xff0c;需要先卸载掉&#xff1b;若没有请直接下一步。 2. 前往官网下载nvm nvm&#xff1a;一个nodejs版本管理工具&#xff01; 官网地址&#xff1a;nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm中文…

Oracle数据恢复—Oracle数据库误删除表数据如何恢复数据?

删除Oracle数据库数据一般有以下2种方式&#xff1a;delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法&#xff08;不考虑全库备份和利用归档日志&#xff09;。 1、delete误删除的数据恢复方法。 利用oracle提供的闪回方法…

Linux进阶 修改文件所在组

chgrp 修改文件所属组 chgrp用于修改文件所属组。 基本语法chgrp [-R] groupname filename # -R 可选 递归修改filename下所有文件的所属组示例:不使用 -Rtotal 4 drwxr-xr-x 62 root root 4096 Jun 15 20:56 etc [root@node1 muzihua]# chgrp muzihua etc/ [root@node1 muzi…

简单题21 - 合并两个有序链表(Java)20240917

问题描述&#xff1a; java代码&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val…

【DAY20240918】03教你轻松配置 Git 远程仓库并高效推送代码!

文章目录 前言 git diff一、远程仓库&#xff1f;1、在 Gitee 上新建仓库&#xff1a;2、Git 全局设置&#xff1a;3、添加远程仓库&#xff1a;4、推送本地代码到远程仓库&#xff1a;5、输入用户名和密码&#xff1a;6、后续推送&#xff1a; 二、全情回顾三、参考 前言 git …

二十种编程语言庆祝中秋节

二十种编程语言庆祝中秋节 文章目录 二十种编程语言庆祝中秋节中秋快乐&#xff01;家人们 &#x1f973;一 Python二 C三 C四 Java五 C#六 Perl七 Go八 Asp九 PHP十 JavaScript十一 JavaScript HTML十二 Visual Basic十三 早期 VB十四 Visual C十五 Delphi十六 Shell十七 Cobo…

【软件设计】常用设计模式--观察者模式

软件设计模式&#xff08;四&#xff09; 观察者模式一、观察者模式&#xff08;Observer Pattern&#xff09;1. 概念2. 模式结构3. UML 类图4. 实现方式C# 示例步骤1&#xff1a;定义观察者接口步骤2&#xff1a;定义主题接口步骤3&#xff1a;实现具体主题步骤4&#xff1a;…

从Prompt到创造:解锁AI的无限潜能

文章目录 &#x1f34a;AI内容创作核心&#xff1a;提示词Prompt1 什么是提示词工程?1.1 提示词的原理是什么&#xff1f;1.2 提示词工程师&#xff1a;百万年薪的职业&#xff1f;1.3 谁都能成为提示词工程师吗&#xff1f; 2 提示词书写的基本技巧3 常见的提示词框架3.1 CO-…

场外个股期权通道商是什么业务?个人投资者可以参与场外期权吗?

今天带你了解场外个股期权通道商是什么业务&#xff1f;个人投资者可以参与场外期权吗?场外个股期权通道商在个股期权市场中起着重要的中介作用&#xff0c;提供定制化的交易服务和风险管理解决方案。 场外个股期权通道商 场外个股期权通道商是一种金融机构&#xff0c;主要…