基本环境

操作系统:CentOS Linux release 7.5.1804 (Core)

内核版本:3.10.0-862.el7.x86_64

docker版本:1.13.1

1、禁用宿主机的 Libvirt 服务

大多数操作系统会默认启动 Libvirt,但使用 Kolla 来部署 OpenStack 的话,Libvirt 应该在容器中运行并管理虚拟机。
所以宿主机的 Libvirt 需要被关闭,以免造成冲突。

systemctl stop libvirtd.service
systemctl disable libvirtd.service

部署kolla

1、安装依赖

yum install epel-release python-pip
yum install -y python-devel libffi-devel openssl-devel gcc
pip install -U pip

2、配置国内pip源

不然这个速度很慢

mkdir ~/.pip

cat << EOF > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
EOF

3、安装stable版kolla

下载源码
git clone https://git.openstack.org/openstack/kolla -b stable/rocky 安装依赖
pip install -r kolla/requirements.txt -r kolla/test-requirements.txt 源码安装
pip install kolla/

4、安装tox,生成配置文件

pip install -U tox
cd kolla/
tox -e genconfig
cp -rv etc/kolla /etc/

编辑 kolla-build.conf:控制 Kolla Image Build 的细则。

vim /etc/kolla/kolla-build.conf
[DEFAULT]
base = centos
install_type = source
namespace = kolla
push = false
# The Docker Images tag (string value)
tag = 6.0.0

5、docker安装

yum install docker -y

配置docker mountflags
在[Service]中添加MountFlags=shared
# vim /usr/lib/systemd/system/docker.service
[Service]
MountFlags=shared systemctl daemon-reload
systemctl restart docker

MountFlags=shared为neutron的要求,必须配置为share,否则后面部署的时候neutron可能会有问题。

编译镜像

简单的来理解 Kolla 组件的话,它就是一个自动化构建部署 OpenStack 服务所需要的镜像的工具。其内含组织了大量的 Dockerfile,供构建镜像时使用。

kolla-build

也可以添加参数项 -p default 对应 kolla-build.conf 的 [profiles] Sections,default 类型表示仅构建核心项目的镜像。

如果个别镜像编译失败可以重新执行以上操作,因为docker的容器缓存,重新编译会很快。

NOTE:但有些情况下,可能会把错误的配置参数 Cache 住,此时建议执行 Cleanup 操作之后再重跑:

# 从系统中移除部署的容器
tools/cleanup-containers
# 移除由于残余网络变化引发 docker 启动的 neutron-agents 主机
tools/cleanup-host
# 从 Cache 中移除所有的 docker image
tools/cleanup-images

也可以查看一下可编译的镜像

kolla-build --list-images

安装kolla-ansible

1、安装ansible

ansible的版本要大于2.0

pip install ansible

2、安装kolla-ansible

git clone https://github.com/openstack/kolla-ansible -b stable/rocky
cd kolla-ansible
pip install -r requirements.txt -r test-requirements.txt -e .

配置一下

cp etc/kolla/globals.yml /etc/kolla/
cp etc/kolla/passwords.yml /etc/kolla/
kolla-genpwd
cp ansible/inventory/* /root/

3、修改文件

编辑 globals.yml文件

kolla_install_type: "source"
openstack_release:需要与镜像的 Tag 一致,否则部署时找不到镜像。
network_interface:指定管理网接口
neutron_external_interface:指定外部网接口
kolla_internal_vip_address:指定 HAProxy 虚拟 IP,单点部署可以弃用 HAProxy enable_haproxy: "no"。
enable_horizon: "yes"

4、修改 Hypervisor Type

因为操作环境是 VMware 的虚拟机,所以存在嵌套虚拟化不支持 KVM 的问题,如果你希望启动 OpenStack 实例,那就需要启用 QEMU(Default KVM)。

mkdir -p /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type=qemu
cpu_mode = none
EOF

检查配置

kolla-ansible prechecks

开始部署

kolla-ansible deploy

报错

在用Dockerfile制作镜像的时候总是出现如下错误

HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

原因分析:

在下载python库的时候,由于国内网络原因,python包的下载速度非常慢,查看pip 文档,只要在 pip的时候控制超时即可, 具体参数为 --default-timeout=100, 后面的时间可以自己指定。

可以在kolla-build中指定一下:

[root@centos kolla]# pwd
/root/kolla
[root@centos kolla]# more tox.ini | grep pip
install_command = pip --default-timeout=1000 install {opts} {packages}

kolla-ansible-----快速部署openstack的更多相关文章

  1. RDO快速部署OpenStack

    RDO快速部署OpenStack 1.RDO是什么 RDO是红帽Red Hat Enterprise Linux OpenStack Platform的社区版,类似RHEL和Fedora,RHEV和o ...

  2. kolla 多节点部署 openstack

    kolla 介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的交付能力.kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只 ...

  3. kolla单节点部署openstack

    virtualbox环境: 双网卡:enp0s3(桥接)   192.168.102.194 enp0s8(桥接)   无ip 块存储  50G 关闭防火墙,selinux. 配置yum源:wget  ...

  4. 高可用Kubernetes集群-16. ansible快速部署

    说明 本文档指导采用二进制包的方式快速部署高可用kubernetes集群. 脚本托管:k8s-ansible(持续更新) 参考:高可用kubernetes集群 组件版本 组件 版本 备注 centos ...

  5. ansible快速部署cassandra3集群

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. Ansible 快速部署 Zabbix 4

    阅读本文章需要具有Ansible.Zabbix基础.本次教程基于如下环境: CentOS 7.x Zabbix 4.0 Ansible 2.5 服务器初始化 关闭防火墙.selinux,添加epel常 ...

  7. packstack快速部署openstack

    环境准备 建议16GB RAM sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config systemctl stop firewall ...

  8. 使用 Ansible 快速部署 HBase 集群

    背景 出于数据安全的考虑,自研了一个低成本的时序数据存储系统,用于存储历史行情数据. 系统借鉴了 InfluxDB 的列存与压缩策略,并基于 HBase 实现了海量存储能力. 由于运维同事缺乏 Had ...

  9. 使用Ansible部署openstack平台

    使用Ansible部署openstack平台 本周没啥博客水了,就放个云计算的作业上来吧(偷个懒) 案例描述 1.了解高可用OpenStack平台架构 2.了解Ansible部署工具的使用 3.使用A ...

  10. OpenStack(四)——使用Kolla部署OpenStack多节点云

    (1).实验环境 主机名 IP地址 角色 内存 网卡 CPU 磁盘 OpenStack-con 192.168.128.110 controller(控制) 8G 桥接网卡ens32和ens33 4核 ...

随机推荐

  1. mysql 权限命令

    grant all on *.* to 'root' identified by 'root';

  2. RabbitMq核心概念和术语

    简介 越来越多的消息中间件很容易让人产生混淆,在学习一种消息中间件的时候,最好先了解他的几种抽象概念,方便你理解,明白了这些概念,你学习起来的时候也就得心应手,同时也是使用好RabbitMQ的基础. ...

  3. Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库

    下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...

  4. 斯托克斯定理(Stokes' theorem)

    1. 几种形式 ∮∂SPdx+Qdy+Rdz=∬S∣∣∣∣∣∣cosα∂∂xPcosβ∂∂yQcosγ∂∂zR∣∣∣∣∣∣dS ∮∂Ωw=∬Ωdw 左边是内积: 右边是外积: 物理上的应用: ∮∂SE ...

  5. wpf控件设计时支持(1)

    原文:wpf控件设计时支持(1) 这部分内容几乎是大家忽略的内容,我想还是来介绍一下. 本篇源码下载 1.属性元数据 在vs IDE中,在asp.net,winfrom等开发环境下,右侧的Proper ...

  6. c#-WPF string,color,brush之间的转换

    原文:c#-WPF string,color,brush之间的转换 String转换成Color string-"ffffff" Color color = (Color)Colo ...

  7. window下nodejs爬取gb2312网页出现乱码的解决方案

     发布于 2012-8-22 18:15  5230 次浏览  最后一次编辑是 2013-2-18 22:31 linux环境下,我们可以通过 iconv 这个C++模块来处理Node.JS不支持的字 ...

  8. PostSharp-4.3.33安装包_KeyGen发布

    PostSharp-4.3.33安装包_KeyGen发布 请低调使用. PostSharp安装及注册步骤截图.rar 请把浏览器主页设置为以下地址支持本人.https://www.duba.com/? ...

  9. JDK源码阅读—ArrayList的实现

    1 继承结构图 ArrayList继承AbstractList,实现了List接口 2 构造函数 transient Object[] elementData; // 数组保存元素 private i ...

  10. 在 Excel 中如何使用宏示例删除列表中的重复项

    概要:在 Microsoft Excel 中,可以创建宏来删除列表中的重复项.也可以创建宏来比较两个列表,并删除第二个列表中那些也出现在第一个(主)列表中的项目.如果您想将两个列表合并在一起,或者如果 ...