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 ...
随机推荐
- VMware安装linux系统CentOs7.4 mini版过程
创建虚拟机 新建虚拟机 选择虚拟机的操作系统,本文中安装的CentOS属于linux 设置虚拟机的名称和虚拟机所使用的文件再物理机中的路径, 设置虚拟机的cup数量和核心数量,如果设置的不合适可以再创 ...
- linux基础:1、linux简介、虚拟化软件的安装与配置、Xshell的安装与配置
Linux 目录 Linux 一.linux简介 二.linux发展史 三.虚拟化技术 1.简介 2.虚拟化软件下载 3.重要名词解释 4.远程链接工具 一.linux简介 常见岗位 1.自动化运维 ...
- 期望与概率 dp
期望与概率 dp \(\text{By DaiRuiChen007}\) I. [洛谷4316] - 绿豆蛙的归宿 \(\text{Link}\) 思路分析 DAG 上做期望 dp,可以爆搜,也可以拓 ...
- 合并JSON文件
下面是一段简单地代码 用来减少工作量合并代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- W04 散文周刊 : 重回Emacs
W04 散文周刊 : 重回Emacs 邮箱:ppbhoy@qq.com 博客地址: www.pipihao.com 公纵号:南湖小皮 公告:后面会开始稳定更新 使用Emacs还是有些沉重,我一直将Em ...
- redis06-事务
1 基本说明 可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞. 2 事务相关的几个命令 2.1 MULTI 标记一个事务块 ...
- STM32F4寄存器初始化系列:GPIO
1 static void GPIO_Init(void) 2 { 3 4 //sound 5 GPIO_Set(GPIOB,PIN4,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO ...
- 图解论文《The Part-Time Parliament》
本文以图文并茂的方式重新演绎 Paxos 开山之作 <The Part-Time Parliament>[1],并尝试解释原论文中语焉不详的地方. 背景 在 Paxos 小岛上,施行着一种 ...
- JZOJ 3226. 【HBOI2013】ALO
题目 网上自己搜 解析 区间异或很容易想到可持久化字典树 但本题的关键是如何高效率求出以某个数为区间最大值时这个区间的范围 依题我们知道区间最长可到比它第二大的位置(开区间) 所以我们如果能找到每个数 ...
- 解密Prompt系列2. 冻结Prompt微调LM: T5 & PET & LM-BFF
这一章我们介绍固定prompt微调LM的相关模型,他们的特点都是针对不同的下游任务设计不同的prompt模板,在微调过程中固定模板对预训练模型进行微调.以下按时间顺序介绍,支持任意NLP任务的T5,针 ...