kolla 安装多节点openstack kolla部署openstack

Kolla 概述:

Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署和管理。Kolla实际上分为两部分:Kolla部分提供了生产环境级别的镜像,涵盖了OpenStack用到的各个服务;Kolla-ansible部分提供了自动化的部署。最开始这两部分是在一个项目中的(即Kolla),OpenStack从O开头的版本开始被独立开来,这才有了用于构建所有服务镜像的Kolla项目,以及用于执行自动化部署的Kolla-ansible。

环境配置:

服务器最低配置:

2 个网络接口
8GB 主内存
40GB 磁盘空间

Centos 8.2

准备工作:

安装下基本的系统工具;

yum -y install net-tools vim wget bash-completion lrzsz

关闭Slinux和防火墙

setenforce 0 
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld

修改hosts

vim /etc/hosts
192.168.6.35 node1

网卡配置信息

配置阿里云源

yum clean all
yum makecache
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all

安装依赖:

yum -y install python-devel libffi-devel gcc openssl-devel git python-pip

配置pip镜像源

mkdir .piptee .pip/pip.conf << EOF 
> [global]
> index-url=http://mirrors.aliyun.com/pypi/simple/
> [install]
> trusted-host=mirrors.aliyun.com
> EOF pip install -U pip #升级pip到最新版本  如果报错

部署kolla-ansible
1)部署 

pip install ansible    #部署ansible  注意:Ansible要大于2.6版本
pip install kolla-ansible  #使用pip安装kolla-ansible

2)复制kolla-ansible的相关配置文件

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/cp /usr/share/kolla-ansible/ansible/inventory/* /etc/kolla/[root@node1 ~]# ls /etc/kolla/all-in-one  globals.yml  multinode  passwords.yml

文件说明:all-in-one是安装单节点OpenStack的ansible自动安装配置文件;multinode是安装多节点OpenStack的ansible自动安装配置文件;globals.yml是OpenStack部署的自定义配置文件;passwords.yml是OpenStack中各个服务的密码文件。

2)编辑kolla-ansible的配置文件,用于自定义安装OpenStack,生成OpenStack各个服务的密码文件,并修改Web页面登录密码。

kolla-genpwd
vim /etc/kolla/passwords.yml
//修改第165行,这是登录Dashboard(web界面控制台)的密码。正常情况下也不能太简单,
//可以截取一段自动生成的密码
keystone_admin_password: hsh.2019#

编辑/etc/kolla/global.yml自定义OpenStack中的部署事项

vim /etc/kolla/globals.yml
//第14行和第15行,选择下载的基础镜像,5选1
# Valid options are ['centos', 'debian', 'oraclelinux', 'rhel', 'ubuntu']
kolla_base_distro: "centos"//第17行和第18行,选择的安装方法,2选1。binary二进制安装,source源码安装
# Valid options are [ binary, source ]
kolla_install_type: "source"//第20行和第21行,选择OpenStack的版本标签,详细请看:https://releases.openstack.org/
# Valid option is Docker repository tag
openstack_release: "stein"  //注意版本必须小写,
//后期下载的OpenStack相关的docker镜像标签也为stein。我是train版本失败,才换成stein//第23行和第24行,存放配置文件的位置
# Location of configuration overrides
#node_custom_config: "/etc/kolla/config"  //默认存放地址//第31行,OpenStack内部管理网络地址,通过该IP访问OpenStack Web页面进行管理。
//如果启用了高可用,需要设置为VIP(漂移IP)
kolla_internal_vip_address: "192.168.128.240"//第87行,OpenStack内部管理网络地址的网卡接口
network_interface: "ens32"//第105行,OpenStack外部(或公共)网络的网卡接口,可以是vlan模式或flat模式。
//此网卡应该在没有IP地址的情况下处于活动,如果不是,那么OpenStack云平台中的云主机实例
//将无法访问外部网络。(存在IP时br-ex桥接就不成功)
neutron_external_interface: "ens33"//第190行,关闭高可用
enable_haproxy: "no"//第213行,关闭cinder(块存储)
#enable_cinder: "no"//第443行和第444行,指定nova-compute守护进程使用的虚拟化技术。(kvm好像有点问题,
//大家可以试试,看看你们能不能过nova下载)
//nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理虚拟机实例的生命周期
# Valid options are [ qemu, kvm, vmware, xenapi ]
nova_compute_virt_type: "qemu"        #我选择的是KVM

四、基于kolla-ansible安装OpenStack私有云

配置 /etc/kolla/all-in-one文件

//修改第3行到第19行,将“localhost       ansible_connection=local”改为“node1”//可以使用替换命令":%s/localhost       ansible_connection=local/node1/g"[root@node1 ~]# head -20 /etc/kolla/all-in-one 
# These initial groups are the only groups required to be modified. The
# additional groups are for more control of the environment.
[control]
node1
[network]
node1
[compute]
node1
[storage]
node1
[monitoring]
node1
[deployment]
node1
# You can explicitly specify which hosts run each project by updating the
# groups in the sections below. Common services are grouped together.
[chrony-server:children]
haproxy[chrony:children]

开始部署OpenStack。注意:我在使用阿里云的epel源时,在安装bootstrap-server时会卡在TASK [baremetal : Install yum packages]这一步。而系统安装的epel源只等待了5分钟左右。

//安装bootstrap-servers部署OpenStack所需的依赖包。该包由kolla-ansible提供,包含docker。kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers//对当前主机进行预部署(检测),直接看最后的统计即可。如果检测报错,
//可以查看前面的TASK:[precheck ...]部分,可以快速定位到错误kolla-ansible -i /etc/kolla/all-in-one prechecks//查看docker volume卷挂载方式vim /etc/systemd/system/docker.service.d/kolla.conf
[Service]
MountFlags=shared  //添加该行,后期docker宿主机新增分区时,docker服务不用重启,方便主机增加磁盘。
ExecStart=
ExecStart=/usr/bin/dockerd --log-opt max-file=5 --log-opt max-size=50m
//指定docker加速器,阿里云免费的申请一下即可
tee /etc/docker/daemon.json << 'EOF'
{"registry-mirrors": ["https://fxa4g5lx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
kolla-ansible -i /etc/kolla/all-in-one pull   #拉去镜像 需要2-3个小时;
//安装bootstrap-servers部署OpenStack所需的依赖包。该包由kolla-ansible提供,包含docker。kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers//对当前主机进行预部署(检测),直接看最后的统计即可。如果检测报错,
//可以查看前面的TASK:[precheck ...]部分,可以快速定位到错误kolla-ansible -i /etc/kolla/all-in-one prechecks//查看docker volume卷挂载方式vim /etc/systemd/system/docker.service.d/kolla.conf
[Service]
MountFlags=shared  //添加该行,后期docker宿主机新增分区时,docker服务不用重启,
//方便主机增加磁盘。
ExecStart=
ExecStart=/usr/bin/dockerd --log-opt max-file=5 --log-opt max-size=50m
//指定docker加速器,阿里云免费的申请一下即可
tee /etc/docker/daemon.json << 'EOF'
{"registry-mirrors": ["https://fxa4g5lx.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
kolla-ansible -i /etc/kolla/all-in-one pull   #拉去镜像 需要2-3个小时;
[root@node1 ~]# docker image list
REPOSITORY                                      TAG           IMAGE ID            CREATED             SIZE
kolla/centos-source-nova-compute                stein         29a1089c3439        12 days ago         1.86GB
kolla/centos-source-horizon                     stein         528ec4d61425        12 days ago         1.05GB
kolla/centos-source-nova-ssh                    stein         0206e811f97b        12 days ago         1.07GB
kolla/centos-source-heat-api                    stein         15697345e54b        12 days ago         906MB
kolla/centos-source-heat-api-cfn                stein         d7109464a5ac        12 days ago         906MB
kolla/centos-source-heat-engine                 stein         a53b323f6d89        12 days ago         906MB
kolla/centos-source-nova-consoleauth            stein         0218807c7f25        12 days ago         1.04GB
kolla/centos-source-nova-api                    stein         0821f9feba2e        12 days ago         1.1GB
kolla/centos-source-nova-novncproxy             stein         a58340553002        12 days ago         1.07GB
kolla/centos-source-placement-api               stein         eed6f0a74817        12 days ago         932MB
kolla/centos-source-nova-conductor              stein         2592000fbc39        12 days ago         1.04GB
kolla/centos-source-nova-scheduler              stein         628404562a7d        12 days ago         1.04GB
kolla/centos-source-neutron-server              stein         a99220d46d30        12 days ago         1.05GB
kolla/centos-source-neutron-l3-agent            stein         9b76ae64d561        12 days ago         1.06GB
kolla/centos-source-neutron-metadata-agent      stein         813dcf95e9cc        12 days ago         1.02GB
kolla/centos-source-neutron-openvswitch-agent   stein         fd258779b5c7        12 days ago         1.02GB
kolla/centos-source-neutron-dhcp-agent          stein         fb5df664eff0        12 days ago         1.02GB
kolla/centos-source-glance-api                  stein         b2ebb8704be4        12 days ago         922MB
kolla/centos-source-keystone-fernet             stein         0b8d0abcb18e        12 days ago         932M
kolla/centos-source-keystone-ssh                stein         925d5ac5df29        12 days ago         933MB
kolla/centos-source-keystone                    stein         3dafc7bd16db        12 days ago         932MB
kolla/centos-source-openvswitch-vswitchd        stein         c93f857f8cb2        12 days ago         424MB
kolla/centos-source-openvswitch-db-server       stein         8bf18465403a        12 days ago         424MB
kolla/centos-source-nova-libvirt                stein         ff0278b83bfc        12 days ago         1.21GB
kolla/centos-source-kolla-toolbox               stein         43a3d49dedf8        12 days ago         698MB
kolla/centos-source-cron                        stein         9798d8d56c7f        12 days ago         406MB
kolla/centos-source-rabbitmq                    stein         f4004eec41a4        12 days ago         486MB
kolla/centos-source-fluentd                     stein         deac0e6e1726        12 days ago         540MB
kolla/centos-source-chrony                      stein         3ece76e19e9f        12 days ago         407MB
kolla/centos-source-mariadb                     stein         1ec2dfae2f33        12 days ago         594MB
kolla/centos-source-memcached                   stein         46c37f70347c        12 days ago         407MB

部署Openstack

kolla-ansible -i /etc/kolla/all-in-one deploy
//验证部署,并且生成/etc/kolla/admin-openrc.sh
kolla-ansible -i /etc/kolla/all-in-one post-deploykolla-ansible -i /etc/kolla/all-in-one post-deploy  -vvv #可以打印出详情;
[root@node1 ~]# cat /etc/kolla/admin-openrc.sh 
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=hsh.2019#      //#web登陆界面的账户密码admin hsh.2019#
export OS_AUTH_URL=http://192.168.6.35:35357/v3
export OS_INTERFACE=internal
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
export OS_AUTH_PLUGIN=password

报错1:拉取镜像失败。

首先重复尝试几次拉取镜像操作。如果还是失败,先检测/etc/kolla/globals.yml中第21行版本号是否正确。在版本号正确的情况下再次拉取镜像还是报错,那么向前退一个版本尝试拉取镜像。(我就是train版本无法使用,退回到stein版本或者使用queens版本)注意清理其他版本的镜像

部署完毕后访问: http://192.168.6.35/

#卸载 清理缓存kolla-ansible destroy ./all-in-one --yes-i-really-really-mean-it

可以清理安装的openstack
-----------------------------------
kolla 安装多节点openstack kolla部署openstack
https://blog.51cto.com/u_16213683/7835181

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

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

相关文章

系列十三、分支合并框架

一、概述 Fork&#xff1a;把一个复杂任务进行分拆&#xff0c;大事化小&#xff0c;Join&#xff1a;把分拆任务的结果进行合并 二、相关类 2.1、ForkJoinPool 分支合并池&#xff0c;类比线程池。 2.2、ForkJoinTask ForkJoinTask&#xff0c;类比 FutureTask。 2.3、Recur…

leetcode——设计循环队列

设计循环队列 这个题目在这里小编只分享一个解题思路&#xff0c;因为还有一个思路小编还在尝试&#xff0c;一直过不了&#xff0c;还在这里不断尝试&#xff0c;等我试出来的时候我在分享给大家&#xff0c;首先我们在这里给出的是数组的形式&#xff0c;后面在分享单链表的思…

ProTable高级表格获取表单数据

隐藏高级表格中的收起按钮 手动控制高级表格中的搜索按钮 获取高级表格中的表单数据 Forminstance 引入 然后在代码中定义 const refForm useRef(); 使用 refForm.current.getFileDsValue();

单体进化微服务:拆分、注册、调用、网关、过滤、治理、分布式事务

这里写目录标题 基本介绍生产-消费-网关父依赖生产者服务消费者服务网关服务common服务 感想 基本介绍 Spring Cloud 是一个用于构建分布式系统和微服务架构的开发工具包。它提供了一系列的功能和组件&#xff0c;用于解决微服务架构中的常见问题&#xff0c;如服务注册与发现…

Git精讲

Git基本操作 创建Git本地仓库 git initgit clone 配置Git git config [--global] user.name "Your Name" git config [--global] user.email "emailexample.com"–global是一个可选项。如果使用了该选项&#xff0c;表示这台机器上所有的Git仓库都会使…

快时尚品牌Halara登上TikTok美国小店榜Top 5,运动健身风靡TikTok

TikTok Shop美国电商数据周榜&#xff08;11/06-12&#xff09;已出&#xff0c;具体信息如下&#xff1a; 上周总GMV达到5850万美元&#xff0c;日均出单840万美元&#xff1b;单日出单最高达2110万美元&#xff0c;是当前美国单日最高销售额&#xff1b; 截至11月12日&…

SpringBoot :ch01 项目结构

前言 在本系列博客中&#xff0c;我们将深入探讨 Spring Boot 项目结构的各个方面&#xff0c;并探讨如何利用这些结构来构建健壮、可扩展的应用程序。通过深入了解 Spring Boot 项目结构&#xff0c;我们可以更好地利用 Spring Boot 的优势&#xff0c;提高开发效率&#xff…

多目标应用:基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度(MATLAB)

一、微网系统运行优化模型 微电网优化模型介绍&#xff1a; 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、基于非支配排序的蜣螂优化算法NSDBO 基于非支配排序的蜣螂优化算法NSDBO简介&#xff1a; https://blog.csdn.net/weixin46204734/article/details/128…

【ARM AMBA AXI 入门 13 -- AXI 协议中 RRESP 信号详细介绍】

请阅读【ARM AMBA AXI 总线 文章专栏导读】 文章目录 AXI 协议中 RRESP 信号RRESP 使用举例RRESP 3bit 使用AXI 协议中 RRESP 信号 在 AXI (Advanced eXtensible Interface) 协议中,RRESP 信号用来表示读取事务的响应状态,它由从设备(Slave)发往主设备(Master)来通知读…

C#源代码生成器深入讲解二

在阅读本文前需掌握源代码生成器相关知识C#源代码生成器深入讲解一 C#源代码生成器深入讲解二—增量生成器 源代码生成器有个非常大的弊病&#xff0c;每次都会遍历所有的语法树来分析,这样就有个问题&#xff0c;每次可能只修改了很少一部分或者只有很少一部分的代码需要分析…

维基百科文章爬虫和聚类【二】:KMeans

维基百科是丰富的信息和知识来源。它可以方便地构建为带有类别和其他文章链接的文章&#xff0c;还形成了相关文档的网络。我的 NLP 项目下载、处理和应用维基百科文章上的机器学习算法。 一、说明 在我的上一篇文章中&#xff0c;展示了该项目的轮廓&#xff0c;并奠定了其基础…

C#中的is和as的使用和区别

目录 概述一、is操作符1. is操作符的语法2. is操作符的用途3. is操作符的使用示例4. is操作符与typeof操作符的区别 二、as操作符1. as操作符的语法2. as操作符的用途3. as操作符的使用示例4. as操作符与is操作符的区别和联系5. as操作符与is操作符的区别总结 概述 在C#编程语…

深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序 计算机竞赛

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习&#xff1f;5.1.2 为什么要迁移学习&#xff1f; 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

c++语言核心及进阶

核心编程 内存分区模型 根据c执行将内存划分为5个区域&#xff1a; 代码区&#xff0c;存放函数体的二进制&#xff0c;即CPU执行的机器指令&#xff0c;并且是只读的&#xff1b;常量区&#xff0c;存放常量&#xff0c;即程序运行期间不能被改变的量。全局区&#xff08;静…

练习八-利用有限状态机进行时序逻辑的设计

利用有限状态机进行时序逻辑的设计 1&#xff0c;任务目的&#xff1a;2&#xff0c;RTL代码&#xff0c;及原理框图3&#xff0c;测试代码&#xff0c;输出波形 1&#xff0c;任务目的&#xff1a; &#xff08;1&#xff09;掌握利用有限状态机实现一般时序逻辑分析的方法&am…

淘宝商品详情接口,商品属性接口,商品信息查询,商品详细信息接口,h5详情,淘宝APP详情

淘宝商品详情API接口可以使用淘宝开放平台提供的SDK或API来获取。这些接口可以用于获取商品的详细信息&#xff0c;如标题、价格、描述、图片等。 以下是使用淘宝开放平台API获取商品详情的步骤&#xff1a; 注册淘宝开放平台账号&#xff0c;并创建应用&#xff0c;获取应用…

重装系统后如何恢复以前的文件?详细教程大揭秘!

在日常生活中&#xff0c;我们可能会遇到各种计算机问题&#xff0c;其中最严重的问题之一就是需要重装系统。在重装系统之前&#xff0c;我们通常需要考虑一个问题&#xff1a;重装系统后还能恢复以前的文件吗&#xff1f; 首先&#xff0c;我们需要明确一点&#xff0c;重装…

7-tcp 三次握手和四次挥手、osi七层协议,哪七层,每层有哪些?tcp和udp的区别?udp用在哪里了?

1 tcp 三次握手和四次挥手 2 osi七层协议&#xff0c;哪七层&#xff0c;每层有哪些 3 tcp和udp的区别&#xff1f;udp用在哪里了&#xff1f; 1 tcp 三次握手和四次挥手 # tcp协议---》处于osi7层协议的传输层&#xff0c;可靠连接&#xff0c;使用三次握手&#xff0c;四次挥…

PLC通过Modbus转profinet网关读取并控制恒压供水系统中的变频器频率

PLC通过Modbus转profinet网关读取并控制恒压供水系统中的变频器频率 PLC通过Modbus转Profinet网关(XD-MDPN100)在恒压供水系统中读取变频器的频率。该系统实时监控逆变器的频率&#xff0c;以确保水的供应能够保持恒定的压力。PLC通过Modbus与变频器通信&#xff0c;将读取的频…

Redis高可用之持久化

Redis的高可用 在集群当中有一个非常重要的指标&#xff0c;提供正常服务的时间的百分比(365),99.9%后面的小数点越多说明越可靠。Redis 的高可用含义更加宽泛&#xff0c;正常服务是指标之一&#xff0c;数据容量的扩展&#xff0c;数据的安全性。 redis中高可用技术种类 1…