kolla 安装多节点openstack kolla部署openstack

news2024/11/16 3:18:27

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 .pip
 tee .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-deploy

kolla-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.coloradmin.cn/o/1236471.html

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

相关文章

一种全新且灵活的 Prompt 对齐优化技术

并非所有人都熟知如何与 LLM 进行高效交流。 一种方案是&#xff0c;人向模型对齐。 于是有了 「Prompt工程师」这一岗位&#xff0c;专门撰写适配 LLM 的 Prompt&#xff0c;从而让模型能够更好地生成内容。 而另一种更为有效的方案则是&#xff0c;让模型向人对齐。 这也是…

迅为RK3568开发板学习之Linux驱动篇第十三期输入子系统

驱动视频全新升级&#xff0c;并持续更新~更全&#xff0c;思路更科学&#xff0c;入门更简单。 迅为基于iTOP-RK3568开发板进行讲解&#xff0c;本次更新内容为第十三期&#xff0c;主要讲解输入子系统&#xff0c;共计24 讲。 关注B站&#xff1a;北京迅为电子&#xff0c;在…

腾讯云代金券怎么领取(腾讯云代金券在哪领取)

腾讯云代金券是可抵扣费用的优惠券&#xff0c;领券之后新购、续费、升级腾讯云相关云产品可以直接抵扣订单金额&#xff0c;节省购买腾讯云的费用&#xff0c;本文将详细介绍腾讯云代金券的领取方法和使用教程。 一、腾讯云代金券领取 1、新用户代金券【点此领取】 2、老用户…

汽车智能座舱/智能驾驶SOC -2

第二篇&#xff08;笔记&#xff09;。 未来智能汽车电子电气将会是集中式架构&#xff08;车载数据中心&#xff09;虚拟化技术&#xff08;提供车载数据中心灵活性和安全性&#xff09;这个几乎是毋庸置疑的了。国际大厂也否纷纷布局超算芯片和车载数据中心平台。但是演进需…

从零开始学习typescript——变量

就像我们在学校学习语文、英文时候一样&#xff0c;最开始学习的是语法&#xff0c;要知道基础的结构。 图片中包含 变量、标识符、数据类型、运算符、字面量、表达式、控制语句等语法 变量 变量是使用给定的符号名在内存中申请存储地址&#xff0c;并且可以容纳某个值。 语…

人工智能的时代---AI的影响

人工智能&#xff08;AI&#xff09;是当前科技领域的一个热门话题&#xff0c;它正在以前所未有的速度改变着我们的生活方式和工作方式。从智能家居到自动驾驶&#xff0c;从智能医疗到智能金融&#xff0c;人工智能正在渗透到我们生活的方方面面。在这篇文章中&#xff0c;我…

如何在3dMax中使用Python按类型选择对象?

如何在3dMax中使用Python按类型选择对象&#xff1f; 3dMax提供了pymxs API&#xff0c;这是MAXScript的Python包装器&#xff0c;可帮助您扩展和自定义3dMax&#xff0c;并更轻松地将其集成到基于Python的管道中。 pymxs模块包含一个运行时成员&#xff0c;该成员提供对MAXSc…

Android HAL学习 及 与BSP的区别

Android HAL学习 及 与BSP的区别 参考链接&#xff1a; 1、https://www.cnblogs.com/looner/articles/11579335.html 2、https://blog.csdn.net/leesan0802/article/details/124087630 3、https://zhuanlan.zhihu.com/p/336531442 在HAL的学习之前&#xff0c;我们来先了解…

909-2015-T2

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 编写算法&#xff0c;删除二叉搜索树&#xff08;二叉排序树&#xff09;的最小元素。叙述算法思想并给出算法实现&#xff0c;分析算法复杂性。二叉树采用链式存储结构&#xff0c;节点结构如下&#xff1a;…

利用逻辑过期解决缓存击穿问题

需求&#xff1a;修改根据id查询商铺的业务&#xff0c;基于逻辑过期方式来解决缓存击穿问题 思路分析&#xff1a;当用户开始查询redis时&#xff0c;判断是否命中&#xff0c;如果没有命中则直接返回空数据&#xff0c;不查询数据库&#xff0c;而一旦命中后&#xff0c;将v…

实验(四):指令部件实验

一、实验内容与目的 实验要求&#xff1a; 利用CP226实验仪上的小键盘将程序输入主存储器EM&#xff0c;通过指令的执行实现微程序控制器的程序控制。 实验目的&#xff1a; 1.掌握模型机的操作码测试过程&#xff1b; 2.掌握模型机微程序控制器的基本结构以及程序控制的基本原…

GDB Debugging Notes

1 Debugging programs using gdb 1.1 gdb简介 gdb是一个功能强大的调试工具&#xff0c;可以用来调试C程序或C程序。在使用这个工具进行程序调试时&#xff0c;主要涉及下面几个方面的操作&#xff1a; 启动程序:在启动程序时&#xff0c;可以设置程序运行环境。设置断点:程序…

Linux socket编程(5):三次握手和四次挥手分析和SIGPIPE信号的处理

在我之前写的Wireshark抓包&#xff1a;理解TCP三次握手和四次挥手过程中&#xff0c;通过抓包分析了TCP传输的三次握手和四次挥手的过程。在这一节中&#xff0c;将分析在Linux中的三次握手和四次挥手的状态和过程&#xff0c;另外还有一个在我们编程过程中值得注意的SIGPIPE信…

水果音乐制作软件FL Studio21.2中文版新功能介绍

FL Studio21.2中文版&#xff0c;一般又称水果音乐制作软件。 FL Studio 21.2简称FL&#xff0c;全称FruityLoopsStudio&#xff0c;因此国人习惯叫它"水果"。它让你的计算机就像是全功能的录音室&#xff0c;大混音盘&#xff0c;非常先进的制作工具&#xff0c;让…

ZYNQ_project:lcd_pic_400x400

在lcd液晶屏上显示400x400像素的图片&#xff0c; 像素信息通过电脑的串口调试助手&#xff0c;发送给fpga&#xff0c;存储在例化的双端口ram中&#xff0c; 在要显示图像区域&#xff0c;读取ram中的像素信息。 模块框图&#xff1a; 时序图&#xff1a; 代码&#xff1a;…

代码随想录刷题】Day16 二叉树03

文章目录 1.【104】二叉树的最大深度&#xff08;优先掌握递归&#xff09;1.1 前言1.2 题目描述1.3 递归法java代码实现1.4 迭代法java代码实现1.5 相关练习题【559】N叉树的最大深度 2.【111】二叉树的最小深度&#xff08;优先掌握递归&#xff09;2.1 题目描述2.2 递归法ja…

新建模板,或组件自适应

1&#xff0c;***一定要改为固定布局&#xff08;才可以自适应&#xff09; 2&#xff0c; 3&#xff0c; 4&#xff0c;系统序号“1”就是第一根柱 5&#xff0c;系列-自动-配色这里1就是第一根柱颜色&#xff0c;2..... 6&#xff0c;坐标柱 标红的去掉&#xff0c;在那里设…

seismicunix基础-声波波动方程推导

seismicunix基础-声波波动方程推导 接触波动方程的研究人员都绕不开这个公式&#xff0c;这是在一维状态下波动方程 但是对于这个方程是怎样来的很少有人能说清楚&#xff0c;其中涉及到牛顿第二运动定律&#xff0c;物体的加速度与受到的力有关。 假设一维弦是大量紧密连接的质…

Python Web框架的三强之争:Flask、Django和FastAPI

JetBrains 公布 2022 Python 开发者调查结果。 完整报告地址&#xff1a;https://lp.jetbrains.com/zh-cn/python-developers-survey-2022/ 这是由 Python 软件基金会 (PSF) 和 JetBrains 共同开展的第六次官方年度 Python 开发者调查&#xff0c;回复于 2022 年 10 月至 12 …

SpringBoot:ch02 配置文件(日志)

前言 简单介绍 Spring Boot 中常见的配置文件类型&#xff0c;如 application.properties 和 application.yml 等&#xff0c;并说明它们各自的特点和用途。 一、前期准备 1、新建项目&#xff0c;结构如下 2、添加依赖 <?xml version"1.0" encoding"UTF…