kolla
kolla项目是为了容器化openstack,目标是做到100个节点的开箱即用,所有的组件的HA都具备。kolla是一个革命性的项目,我们以前积累的安装部署经验,全部都报废。使用kolla可以快速部署可扩展,可靠的生产就绪的openstack环境。
基本环境
操作系统:CentOS Linux release 7.2.1511 (Core)
内核版本:3.10.0-327.28.3.el7.x86_64
docker版本:Docker version 1.12.1, build 23cf638
部署kolla
1. 安装依赖
yum install epel-release python-pip |
2. 修改docker启动文件
# Create the drop-in unit directory for docker.service |
3. 重启docker
systemctl daemon-reload |
4. 安装docker的python库
yum install python-docker-py |
5. 配置时间同步(此处略)
6. 禁用libvirt
systemctl stop libvirtd.service |
7. 安装ansible
这里需要注意的是如果安装stable版的kolla需要Ansible < 2.0,master版需要Ansible > 2.0。默认yum安装ansible版本>2.0,因为我要安装stable/mitaka版,所有指定安装版本。
pip install -U ansible==1.9.4 |
8. 安装stable版kolla
下载源码
git clone https://git.openstack.org/openstack/kolla -b stable/mitaka
安装依赖
pip install -r kolla/requirements.txt -r kolla/test-requirements.txt
源码安装
pip install kolla/
9. 安装tox,生成配置文件
pip install -U tox |
10. 安装python client
yum install python-openstackclient python-neutronclient |
11. 本地docker仓库
all-in-one环境中本地仓库不是必须的这里没有配置
编译镜像
kolla-build |
更多的编译选项可以参看:Building Container Images
如果个别镜像编译失败可以重新执行以上操作,因为docker的容器缓存,重新编译会很快
编译成功后生成的镜像如下所示:
# docker images |
部署容器
1. 生成密码
openstack环境的密码等变量可以在 /etc/kolla/passwords.yml 中指定,为了方便可以使用kolla-genpwd工具自动生成复杂密码。
kolla-genpwd |
为了方便,我们修改其中的管理员登陆密码
vim /etc/kolla/passwords.yml |
2. 修改部署配置文件
修改/etc/kolla/globals.yml 文件,指定部署的一些信息
vim /etc/kolla/globals.yml |
3. 检查配置
kolla-ansible prechecks |
4. 开始部署
kolla-ansible deploy |
5. 部署成功后查看容器
# docker ps |
6. 修改虚拟化类型
因为是在虚拟机中安装,不支持kvm,需要修改虚拟类型为qemu
vim /etc/kolla/nova-compute/nova.conf |
然后就可以通过 kolla_internal_address 访问openstack环境
一些有用的工具
部署完成后,运行以下命令可以生成一个openrc文件(运行openstack CLI所需的环境变量):
kolla-ansible post-deploy
openrc文件生成之后,使用以下命令可以帮你做一下openstack的初始化工作,包括上传一个glance镜像以及创建几个虚拟网络:
source /etc/kolla/admin-openrc.sh
kolla/tools/init-runonce由于错误的出现,可能需要多次的部署,而有些错误重新部署是不会进行修正的,所以需要将整个环境进行清理:
tools/cleanup-containers #可用于从系统中移除部署的容器
tools/cleanup-host #可用于移除由于残余网络变化引发的docker启动的neutron-agents主机
tools/cleanup-images #可用于从本地缓存中移除所有的docker image
日志查看
kolla通过heka容器来收集所有容器的日志
docker exec -it heka bash |
所有的容器都可以从这个目录中获取服务日志:/var/log/kolla/SERVICE_NAME。
如果需要输出日志,请运行:
docker logs |
大多数容器不会stdout,上面的命令将不会提供信息。
出错处理
deploy时遇到以下错误:
TASK: [rabbitmq | fail msg="Hostname has to resolve to IP address of api_interface"] *** |
解决办法:
vim /etc/hosts |
kolla的更多相关文章
- Inside Kolla - 05 从 tools 目录开始
从 tools 目录开始 在上一篇中已介绍了 Kolla 的源代码目录结构和各个目录中源代码的基本作用,现在开始深入到各个目录,介绍目录中的具体内容.每个人分析代码的思路和方法不同,会选择从不同的目录 ...
- Inside Kolla - 04 Kolla 目录结构
Kolla 目录结构 把 Kolla 的源代码下载下来后,先从总体上分析 Kolla 的目录结构,查看顶层目录结构,使用 tree -L 1 输出 . ├── ansible ├── compose ...
- Inside Kolla - 03 下载Kolla
下载 Kolla Kolla 目前托管在 github.com 上,项目仓库的 URL 是 https://github.com/stackforge/kolla. 下载 Kolla 时,可下载 gi ...
- Inside Kolla - 02 Kolla 是什么
Kolla 是什么? Kolla 项目 Kolla 是 OpenStack 里面的一个项目,在源代码的 README.md 里面的解析是: The Kolla project is part of t ...
- Inside Kolla - 01 简介
简介 在 opencloud 2015 的会议上初次了解到 kolla 项目后,开始去了解和学习 kolla 的源代码和相关的知识.经过一段时间的了解,觉得 kolla 确实是一个很好的项目,它使用预 ...
- kolla管理openstack容器
本文以nova-api容器为例,说明kolla如何将nova-api配置文件传入容器,容器如何启动nova-api服务并读取配置文件 注:第一部分比较无趣,二三部分 会有意思一些 1. nova-ap ...
- kolla 多节点部署 openstack
kolla 介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的交付能力.kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只 ...
- kolla queens on centos7.5 -all in one
目录 环境准备 开始配置 快照,快照,快照 pull镜像并部署 登录配置OpenStack 环境准备 我这里用workstation创建了一个虚拟机,安装centos7.5 mini系统,这台虚拟机上 ...
- kolla单节点部署openstack
virtualbox环境: 双网卡:enp0s3(桥接) 192.168.102.194 enp0s8(桥接) 无ip 块存储 50G 关闭防火墙,selinux. 配置yum源:wget ...
- kolla之docker私有仓库创建
kolla镜像自从P版以后就没有向之前版本直接下载一个tar然后放入仓库那么简单了. 正式开始搭建仓库: 1.启动仓库容器 docker run -d -v /opt/registry:/var/l ...
随机推荐
- 初学《python编程从入门到实践》web应用程序,出现错误
一开始是遇到了TemplateDoesNotExist的错误,上百度都是说改settings.py里面的TEMPLATE的DIRS, 但我改了还是出现问题, 我用的<python编程从入门到实践 ...
- BUG日记之-----Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway.
在使用swagger进行测试的时候调用弹窗 解决办法: 在启动类添加@EnableSwagger2注解
- 大数据实时多维OLAP分析数据库Apache Druid入门分享-下
@ 目录 架构 核心架构 外部依赖 核心内容 roll-up预聚合 列式存储 Datasource和Segments 位图索引 数据摄取 查询 集群部署 部署规划 前置条件 MySQL配置 HDFS配 ...
- QtQuick使用MediaPlayer抓取摄像头影响报错Error: "Your GStreamer installation is missing a plug-in."
环境:ubuntu18.04 Qt5.9.5 描述:项目需要使用qtquick作为显示界面用于播放从网络摄像头抓取的影像,海康网络摄像头,摄像头源协议使用的是rtsp,影像数据格式为x-h264,但在 ...
- 【随笔记】Littlevgl 8.x 踩过的坑
在多线程并发使用的时候,总是在运行过程中莫名其妙的 crash,后面才意识到 LVGL 本身不支持并发,加了互斥锁解决了. 在引入矢量字库时(freetype),又有启动时会概率性 crash 的问题 ...
- ADC-单通道DMA到多通道DMA ADC采集修改事项
1. 使能通道IO,因为从单通道到多通道,需要添加规则转换通道数,故需要使能扫描模式,否则只能扫描第一个通道: 2. DMA模式配置需修改为循环传输模式,否则只转换一次: 3. 开启ADC规则转换通道 ...
- FAQ 关于allure和pycharm的运行模式
关于allure和pycharm的运行模式 案例 新建一个项目allure_mode 新建一个python代码test_allure_001.py 代码如下 import pytest, os def ...
- drf-三大认证源码分析、基于APIView编写分页、异常处理
1.权限源码分析 1.APIView源码497行:self.initial(request, *args, **kwargs)中进行了三大认证. 2.在initial的源码中,以下三行代码是进行三大认 ...
- 为什么sleeping的会话会造成阻塞
背景 客户反映HIS数据库每天22点后都会发生阻塞,阻塞的源头是一个sleeping的会话,越阻塞越多,只能通过手动KILL掉才能解决,十分不解为什么状态为sleeping的会话会造成阻塞. 现象 在 ...
- Docker中apt-get update失败解决方案
一.更换apt的镜像源 1. 进入目录 cd /etc/apt 2. 备份源文件 cp /etc/apt/sources.list /etc/apt/sources.list.bak 3. 更改镜像源 ...