Openstack Kolla-Ansible安装部署

2023-05-16

Openstack Kolla-Ansible安装部署

部署节点制作

环境准备

  1. CentOS环境安装

    • 配置国内pypi源:
    mkdir -p ~/.config/pip/
    vim ~/.config/pip/pip.conf
    
    [global]
    index-url = https://mirrors.ustc.edu.cn/pypi/web/simple
    format = columns
    
    • CentOS 部分常用软件安装
    yum install -y vim net-tools  bash-completion-extras git
    
  2. 安装依赖

    • pip
    yum install -y python-pip
    pip install --upgrade pip
    
    • 软件依赖
    yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python
    
    • ansible 安装
    yum install -y ansible
    pip install -U ansible
    
    • 修改ansible配置文件 /etc/ansible/ansible.cfg
    [defaults]
    host_key_checking=False
    pipelining=True
    forks=100
    

安装docker-ce

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

开启 Docker 的共享挂载功能:所谓共享挂载即同一个目录或设备可以挂载到多个不同的路径并且能够保持互相之间的共享可见性,类似于 mount --shared。在 OpenStack for Kolla 中,主要解决 Neutron 的 namespace 在不同 container 中得以保持实效性的问题。

mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
> [Service]
> MountFlags=shared
> EOF

使用阿里的加速器(登陆阿里云–>控制台–>产品与服务–>容器镜像服务–>镜像加速器 即可获取加速器地址)

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mb8n4btz.mirror.aliyuncs.com"]
}
EOF

启动docker服务

systemctl enable docker.service
systemctl start docker.service

Kolla-Ansible 安装

Kolla-Ansible 可以从pip安装,也可以从git安装,这里从git安装

  1. clone 代码
git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible
  1. 安装
pip install -r kolla/requirements.txt
pip install -r kolla-ansible/requirements.txt
python kolla-ansible/setup.py install

注意:
如果出现requests 2.20.0 has requirement idna<2.8,>=2.5, but you'll have idna 2.4 which is incompatible.错误,则强制更新requets

pip install --ignore-installed requests

同样,出现Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.错误,强制更新

sudo pip install --ignore-installed PyYAML
  1. copy globals.ymlpasswords.ymlto /etc/kolla
mkdir -p /etc/kolla
cp -r kolla-ansible/etc/kolla/* /etc/kolla
  1. 配置安装目录
mkdir dep-158
cp kolla-ansible/ansible/inventory/* ./dep-158

制作本地镜像源

  1. 修改kolla镜像有关配置
vim /etc/kolla/globals.yml
openstack_release: "rocky"
network_interface: "ens192"
  1. 拉取镜像
kolla-ansible pull -vvv
  1. 启动容器
mkdir -p /var/www/html/registry
# docker run -d -p 5000:5000 -v /var/www/html/registry:/var/lib/registry --restart=always --name registry registry:2.6.2
  1. 修改docker配置,10.10.129.151ens192的ip
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://mb8n4btz.mirror.aliyuncs.com"],
  "insecure-registries":["10.10.129.151:5000"]
}
  1. 修改镜像tag
for i in `docker images|grep -v registry|grep -v R|awk '{print $1}'`;do docker image tag $i:rocky 10.10.129.151:5000/$i:rocky;done
  1. 上传镜像到私有镜像仓库
for i in `docker images|grep 10.10.129.151|awk '{print $1}'`;do docker push $i:rocky;done
  1. 查看镜像是否上传成功
curl -XGET http://10.10.129.151:5000/v2/_catalog
  1. 备份镜像文件
tar -zcvf kolla-openstack-queens-registry.tar.gz /var/www/html/registry

Openstack 部署

环境说明

部署配置

kolla自带了all-in-one和多节点的两种部署方式,需要配置ansible 部署文件

  1. multinode部署文件修改
[control]
10.0.0.[10:12] ansible_user=ubuntu ansible_password=foobar ansible_become=true
# Ansible supports syntax like [10:12] - that means 10, 11 and 12.
# Become clause means "use sudo".

[network:children]
control
# when you specify group_name:children, it will use contents of group specified.

[compute]
10.0.0.[13:14] ansible_user=ubuntu ansible_password=foobar ansible_become=true

[monitoring]
10.0.0.10
# This group is for monitoring node.
# Fill it with one of the controllers' IP address or some others.

[storage:children]
compute

[deployment]
localhost       ansible_connection=local become=true
# use localhost and sudo

说明:

  • Ansible官方文档
  1. 部署中使用的密码存储在/etc/kolla/passwords.yml文件中。通过运行下面命令生成随机密码,初始化之后,可手动更改keystone_admin_password密码(OpenStack登录密码)
kolla-genpwd
vim /etc/kolla/passwords.yml
keystone_admin_password: password

部署

  1. 确认inventory配置文件是否正确
ansible -m ping all -i ./multinode

结果:
localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
10.10.129.158 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
10.10.129.159 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
  1. 向各个节点安装基本依赖,如docker等;

修改docker yum源。https 有时会报ssl的错误,这里替换为http,也可以修改成本地源

vim /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml
docker_yum_url: "http://yum.dockerproject.org"

如果打开了octavia,需要在/var/lib/kolla/config_files路径下制作证书文件

mkdir -p /etc/kolla/config/octavia
git clone https://github.com/openstack/octavia.git
source create_certificates.sh /etc/kolla/config/octavia/ /home/octavia/etc/certificates/openssl.cnf
# 注意 /home/octavia/etc/certificates/openssl.cnf 为octavia的代码路径下的文件
cp /etc/kolla/config/octavia/private/* /etc/kolla/config/octavia/
# -vvv 可以打印出最详细的信息
kolla-ansible -i ./multinode bootstrap-servers -vvv
  1. 对主机执行预部署检查
kolla-ansible -i ./multinode prechecks -vv
  1. 执行OpenStack部署
kolla-ansible -i ./multinode deploy -vv
  1. 使用OpenStack

kolla-ansible post-deploy
. /etc/kolla/admin-openrc.sh

一些注意事项

  • 部署过程中所有的ansible task都在 /usr/share/kolla-ansible/ansible/roles/glance/tasks/下面,可以查看;

参考文档

  • kolla-ansible部署OpenStack多节点
  • kolla构建openstack镜像的本地yum源配置
  • kolla-openstack-queens-本地镜像
  • Openstack kolla-ansible

 




转载自链接:https://www.jianshu.com/p/5d58f6f9e2c7
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Openstack Kolla-Ansible安装部署 的相关文章

  • 推荐7个冷门手机APP,每一个都让我相见恨晚

    推荐7个让我相见恨晚的手机APP 1 Smart Kit 360 Smart Kit 360是一个全能的工具箱软件 xff0c 只有10M的大小 xff0c 却提供了40多个实用工具 xff0c 有了它 xff0c 就不需要下载这么多软件了
  • 推荐8款有趣实用的软件,建议你先收藏,总有一天你会用到

    推荐8个非常好用的软件 xff0c 每一个都能给人带来惊喜 xff0c 软件的实用性非常强 xff0c 千万不要错过了 1 央视频 央视频是中央广播电视总台出品的高质量视频社交软件 xff0c 内容丰富 xff0c 功能强大 强大的电视直播
  • 中国天气网 API

    中国天气网 API 真正的中国天气api接口xml xff0c json 详解 前言 某天想写个天气软件 xff0c 于是上网找找有没有免费的天气 API 发现许多的API不是收费 xff0c 就是不能用了 xff08 心塞塞 xff09
  • 【Linux-Ubuntu】apt-get update软件更新的时候经常出错

    1 网络问题 将电脑连接的WIFI改成手机热点连接 2 镜像源问题 使用最新的镜像源进行下载更新 xff1a 可以参考下面方式获取 xff1a 然后选择手动替换 xff0c 或者命令替换 xff0c 一般你直接复制原来的 list文件 xf
  • Flink与Kafka的爱恨情仇

    FlinkKafkaConsumer 源码剖析 FlinkKafkaConsumer 的继承关系如下图所示 可以发现几个版本的 FlinkKafkaConsumer 都继承自 FlinkKafkaConsumerBase 抽象类 xff0c
  • realvnc,简单介绍realvnc

    什么是vnc vnc xff08 Virtual Network Computing xff0c 虚拟网络计算 xff09 最早是一套由英国剑桥大学ATT实验室在2002年开发的轻量型的远程控制计算机软件 xff0c 其采用了 GPL 授权
  • 843. Guess the Word

    Hard 435458Add to ListShare This problem is an interactive problem new to the LeetCode platform We are given a word list
  • 127. Word Ladder

    Given two words beginWord and endWord and a dictionary 39 s word list find the length of shortest transformation sequenc
  • visual studio里配置boost

    visual studio使用boost的方法 xff0c 优选第一个 xff1a 1 使用nuget安装boost xff0c 根据不同的visual studio版本 xff0c 选择不同版本的boost vc 安装 xff0c 比如对
  • PHP json_decode中文转义的问题

    默认情况下PHP的 json decode 方法会把特殊字符进行转义 xff0c 还会把中文转为Unicode编码形式 在有些情况下不希望进行这种转义 对于PHP5 4 43 版本 xff0c json decode函数第二个参数 xff0
  • 访问win7的d$这种默认共享时拒绝访问

    访问win7的d 这种默认共享时拒绝访问 xff0c 即使输入正确的用户名密码 xff0c 也无法访问 导致这个问题的原因有多种 xff0c 本人当时是由于UAC的缘故 xff0c 所以这里只讲这一种 UAC即用户账户控制 xff0c 在w
  • OleDbConnection打开xls文件发生“External table is not in the expected format.”异常

    网上大量能搜索到的是 xff1a 打开xls用 34 Provider 61 Microsoft Jet OLEDB 4 0 Data Source 61 34 43 excelFilePath 43 34 Extended Propert
  • c#里,WebBrowser实现不加载图片等控制

    这个点子来自Jiang Sheng蒋大拿 xff1a http stackoverflow com questions 2048424 disable image loading from webbrowser control before
  • drop database 使用通配符批量删除数据库

    方案1 xff1a declare 64 sql varchar 8000 Select 64 sql 61 isnull 64 sql 39 39 43 39 drop database 39 43 name 43 char 13 fro
  • C/C++编程:可变参数

    常见实现方法 变常参数的宏定义以及 VA ARGS 变长参数的宏定义是指在宏定义中参数列表的最后一个参数为省略号 xff0c 而预定义宏 VA ARGS则可以在宏定义的实现部分替换省略号所代表的字符串 xff0c 比如 xff1a span
  • python:序列切片

    Python 里 xff0c 像列表 xff08 list xff09 元组 xff08 tuple xff09 和字符串 xff08 str xff09 这类序列类型都支持切片操作 切片和区间会忽略最后一个元素 使用方括号 的形式截取字符
  • 【2020-8-8】树莓派+Ubuntu18.04编译Dji Guidance ROS(转载)

    实验室还有一批大疆的M100和配套的Guidance xff0c 但是一直没有玩起来 xff0c 大疆官方也早就抛弃了这个平台 xff0c 不再提供技术支持 今天在树莓派上编译Intel Realsense的固件的时候 xff0c 看到大疆
  • Unix/Linux编程:System V信号量

    System V信号量不是用来在进程间传输数据的 xff0c 而是用来同步进程的动作 信号量的一个常见用途是同步对一块共享内存的访问以防止出现一个进程在访问共享内存的同时另一个进程更新这块内存的情况 一个信号量是一个由内核维护的整数 xff
  • cmake:命令行工具cmake

    概要 Generate a Project Buildsystem cmake span class token punctuation span span class token operator lt span options span
  • ffmpeg:ffmpeg拉流rtsp报错method SETUP failed: 454 Session Not Found

    报错 试用ffmpeg请求rtsp流时 xff0c UDP端口时无法返回 span class token punctuation span rtsp 64 span class token number 0x5650696e2580 sp

随机推荐

  • python:类实例化

    什么是类实例化 类对象就像是一个用来创建对象的工厂 创建一个新对象的过程叫做实例化 instantiation 这个新对象叫做这个类的一个实例 instance 举个例子 定义好了Student类 xff0c 就可以根据Student类创建
  • Ubuntu: AppImage格式安装、卸载

    我们在linux ubuntu 上最常见到的一种软件包就是deb xff0c 我们可以使用linux的包管理器来进行安装 卸载 xff0c 这个过程提供了很好的GUI界面 xff0c 所以很轻松 但是 xff0c 有时候我们会遇到AppIm
  • VSCode:使用CMakeLists.txt构建C++项目

    vscode配置 插件 xff1a CMake插件主要功能是CMake语法高亮 自动补全CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具 xff0c 比如生成CMake项目 构建CMake项目等CMake T
  • SQL:如何插入JSON数据与返回JSON数据

    什么是JSON JSON xff08 JavaScript Object Notation xff09 是一种轻量级的数据交换语言 xff0c 并且是独立于语言的文本格式 一些NoSQL数据库选择JSON作为其数据存储格式 xff0c 比如
  • python3用Selenium驱动火狐浏览器GeckoDriver安装教程

    前面讲到了谷歌浏览器ChromeDriver的安装 xff0c 今天我们来讲讲火狐浏览器GeckoDviver的安装 xff0c 那么对于 Firefox 来说 xff0c 也可以使用同样的方式完成 Sclenium的对接 xff0c 这时
  • Android Sqlite 读取数据99999.99变为100000.00,出现科学计数法

    问题描述 xff1a 将99999 99 存入Sqlite数据库 xff0c 类型为DECIMAL 6 3 通过cursor getString 变为100000 00 且存储亿位数据时 xff1a cursor getString 会出现
  • iOS OC的基本视图创建-UIView

    1 一般UIView 创建 UIView cellView 61 UIView alloc init superView addSubview cellView cellView layer cornerRadius 61 25 ViewW
  • realvnc免费版,细数4款超好用的realvnc免费版

    RealVNC是VNC xff08 Virtual Network Computing xff09 众多操作平台版本中的一员 xff0c 是互联网上比较流行的远程控制软件 它包括vnc4server和vnc4viewer两个部分 xff0c
  • linux系统实现路由功能

    概述 xff1a 1 在完成4台设备ip配置后默认路由有 路由器Rocky02上默认有 xff1a 192 168 10 0 172 20 0 0 路由器Rocky03上默认有 xff1a 192 168 10 0 10 0 0 0 主机R
  • TT 的旅行日记(Dijkstra)

    问题描述 xff1a 众所周知 xff0c TT 有一只魔法猫 今天他在 B 站上开启了一次旅行直播 xff0c 记录他与魔法猫在喵星旅游时的奇遇 TT 从家里出发 xff0c 准备乘坐猫猫快线前往喵星机场 猫猫快线分为经济线和商业线两种
  • 猫猫向前冲(拓扑排序)

    问题描述 xff1a 有一天 xff0c TT 在 B 站上观看猫猫的比赛 一共有 N 只猫猫 xff0c 编号依次为1 xff0c 2 xff0c 3 xff0c xff0c N进行比赛 比赛结束后 xff0c Up 主会为所有的猫猫从前
  • HRZ的序列

    问题描述 xff1a 相较于咕咕东 xff0c 瑞神是个起早贪黑的好孩子 xff0c 今天早上瑞神起得很早 xff0c 刷B站时看到了一个序列a xff0c 他对这个序列产生了浓厚的兴趣 xff0c 他好奇是否存在一个数K xff0c 使得
  • 东东学打牌

    问题描述 xff1a 最近 xff0c 东东沉迷于打牌 所以他找到 HRZ ZJM 等人和他一起打牌 由于人数众多 xff0c 东东稍微修改了亿下游戏规则 xff1a 所有扑克牌只按数字来算大小 xff0c 忽略花色 每张扑克牌的大小由一个
  • 咕咕东的目录管理器

    文章目录 问题描述样例输入样例输出 解题思路代码 问题描述 咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响 xff0c 时不时发生故障 xff0c 他受不了了 xff0c 想要写一个高效易用零bug的操作系统 这工程量太大了 xff0
  • 针对CSP-T1,T2的练习

    文章目录 题目1问题描述样例输入样例输出 解题思路代码 题目2问题描述样例输入样例输出 解题思路代码 题目1 问题描述 给出n个数 xff0c zjm想找出出现至少 n 43 1 2次的数 xff0c 现在需要你帮忙找出这个数是多少 xff
  • Rust的控制流:条件、循环以及模式匹配

    文章目录 条件控制循环控制forwhileloopbreak continue 模式匹配 条件控制 Rust的条件控制也是使用if else xff0c 和其他语言相比没有多大区别 xff0c 直接看例子 xff1a fn main let
  • 在Windows上搭建Rust开发环境——Clion篇

    文章目录 在Windows上搭建Rust开发环境 Clion篇安装mingw64安装Rusthello world安装Clion使用Clion创建并调试项目 在Windows上搭建Rust开发环境 Clion篇 刚开始学习Rust的时候 x
  • 洛谷P3366最小生成树模板

    kruskal span class token macro property span class token directive keyword include span span class token string lt cstdi
  • 在家远程控制 少了它俩简直太遗憾了

    互联网公司的值班 xff0c 本意在于出现问题时有人及时处理 xff0c 毕竟上线运行的产品 xff0c 出问题可能会影响到公司的整体收益 虽然工作是965 xff0c 但值班日程表却明明白白写着谁负责保障今天的产品运行正常 涉及到技术 运
  • Openstack Kolla-Ansible安装部署

    Openstack Kolla Ansible安装部署 部署节点制作 环境准备 CentOS环境安装 配置国内pypi源 xff1a mkdir p config pip vim config pip pip conf global ind