文档章节

kolla-ansible部署openstack的ocata(附带的命令shell脚本)

J
 JennerLuo
发布于 2017/08/29 16:19
字数 1103
阅读 557
收藏 0
点赞 0
评论 0

 

环境(离线部署https://my.oschina.net/u/857184/blog/1526474)

操作系统

CentOS Linux release 7.3.1611 (Core)

内核信息

Linux 3.10.0-514.el7.x86_64

硬件

虚拟机一台

网卡

2块

内存

8G  //all-in-one建议16G

CPU

4 VCPU

 

安装epel-release ;安装python-pip,升级到最新

yum install epel-release

yum install python-pip

pip install -U pip

安装依赖包

yum install python-devel libffi-devel gcc openssl-devel libselinux-python

安装ansible

yum install ansible

安装docker

curl -sSL https://get.docker.io | bash

配置docker服务,这里的配置,根据官网的提示是为了防止kolla-ansible部署neutron-dhcp-agent 容器时候抛出 APIError/HTTPError

# Create the drop-in unit directory for docker.service

mkdir -p /etc/systemd/system/docker.service.d

# Create the drop-in unit file

tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'

[Service]

MountFlags=shared

EOF

重启dockers服务

systemctl daemon-reload

systemctl restart docker

 

安装docker python

pip install -U docker

安装 升级python jinja版本

pip install -U Jinja2

 

安装ntp

yum install ntp

systemctl enable ntpd.service

systemctl start ntpd.service

关闭libvirtd服务

系统可能默认开启了libvirtd服务,需要关闭

systemctl stop libvirtd.service

systemctl disable libvirtd.service

安装kolla-ansible

运行这个命令会安装最新稳定版本的kolla-ansible

pip install kolla-ansible

复制globals.yml 和 passwords.yml 到 /etc

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/

 

复制inventory 文件 (all-in-one 和 multinode) 到 当前目录

cp /usr/share/kolla-ansible/ansible/inventory/* .

 

配置docker本地镜像仓库

默认Docker的Registry是使用5000端口,对于OpenStack来说,有端口冲突,所以需要改成4000。Pull并启动registry镜像。

docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \

--restart=always --name registry registry:2.3

说明:

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定;这里表示将宿主机的

/opt/registry目录挂在到容器的/var/lib/registry目录

 

-p 4000:5000 表示将宿主机的4000映射到容器的5000端口

--name registry 是给这个容器起名为registry

registry:2.3表示docker拉取的镜像是版本为2.3的registry

将之前下载的kolla镜像解压到/opt/registry目录中

tar zxf centos-binary-registry-ocata.tar.gz -C /opt/registry/

查看镜像仓库是否正常,如果返回一个json数据表示正常工作,这里的ip替换为docker仓库所在的主机IP

curl http://xxx.xxx.xxx.xxx:4000/v2/_catalog

 

有时候会在准备运行kolla-ansible deploy -i出现这种报错

Error:server gave HTTP response to HTTPS client

需要配置,这里的ip就是registry所在的主机ip

tee /etc/docker/daemon.json <<-'EOF'

{ "insecure-registries":["xxx.xxx.xxx.xxx:4000"]}

EOF

重启Docker服务

systemctl daemon-reload

systemctl restart docker

配置kvm/qemu

检查系统是否支持硬件加速,如果返回为0,那么只能使用qemu

egrep -c '(vmx|svm)' /proc/cpuinfo

如果是在虚拟机里安装Kolla,希望可以在OpenStack平台上创建虚拟机,那么你需要把virt_type=qemu,默认是KVM。

mkdir -p /etc/kolla/config/nova

cat << EOF > /etc/kolla/config/nova/nova-compute.conf

[libvirt]

virt_type=qemu

EOF

部署kolla

生成密码文件

kolla-genpwd

行这个命令,将会为/etc/kolla/passwords.yml的配置项填充随机生成的密码;

可以在运行这个命令后,根据自己需要修改passwords.yml,设置自己的密码

 

例如

编辑 /etc/kolla/passwords.yml文件,配置keystone管理员用户的密码。

keystone_admin_password: admin

配置/etc/kolla/globals.yml

kolla_internal_vip_address: " 172.16.X.225"   //访问Dashboard的地址

docker_registry: " 172.16.X.225:4000"

docker_namespace: "lokolla"

network_interface: "eth0"                    //IP地址为172.16.X.225

neutron_external_interface: "eth1"             //该网卡不配置IP地址

openstack_release: “4.0.3”

kolla_base_distro: "centos"              //默认为centos

kolla_install_type: "binary"             //默认为binary

说明:

kolla_internal_vip_address:虚拟ip( VIP)会用于和 keepalived

docker_registry: 指定这个配置为本地仓库的话,kolla会从本地仓库下载镜像

docker_namespace: 指定了仓库的名称空间

network_interface: 指定当前用于kolla服务所在的管理主机的IP

neutron_external_interface: 用于neutron容器部署

openstack_release: 指定了kolla部署容器的时候从仓库获取的镜像版本,参考3.   Kolla镜像获取

 

由于部署的是all-in-one单节点

编辑/usr/share/kolla-ansible/ansible/group_vars/all.yml

文件,设置enable_haproxy为no

enable_haproxy: "no"

开始部署

验证环境是否符合kolla要求

进入/root(即 复制inventory 文件 (all-in-one 和 multinode) 的目标目录)

kolla-ansible prechecks -i  all-in-one

部署openstack

kolla-ansible deploy -i all-in-one

等待结束

结束后查看docker容器

docker ps

验证部署结果

创建环境变量文件

kolla-ansible post-deploy

这样就创建 了/etc/kolla/admin-openrc.sh 环境变量文件。

安装OpenStack client端

pip install python-openstackclient

这样就可以通过命令行执行openstack相关命令

整理的后的命令shell脚本:https://github.com/jannanlo/tools/blob/master/ocata-all-in-on.sh

 

参考文档:

https://docs.openstack.org/kolla-ansible/latest/quickstart.html

http://dockone.io/article/2476

© 著作权归作者所有

共有 人打赏支持
J
粉丝 5
博文 84
码字总数 41408
作品 0
深圳
程序员
Openstack 之使用外部ceph存储

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 继上篇《Ceph 之 块设备、文件系统、对象存储的使用》,可以独立于opensta...

余伟兵 ⋅ 06/05 ⋅ 0

通过 ansible 创建 openstack 虚拟机并部署应用(配置篇)

本文中的例子在 ansible 和 Ansible Tower 里都通过。 controller 对 openstack 的接入 本文里的 controller 是我的笔记本电脑,需要做以下配置: 建立 /etc/ansible/openstack.yml,内容如下...

李海滨 ⋅ 04/24 ⋅ 0

白皮书:OpenStack与容器的相遇相知(上)

导 读 本文由OpenStack基金会官方发布,来自基金会、用户、厂商的16位专家作者联合撰写,原文请访问:https://www.openstack.org/containers/whitepaper 想象一下,你的任务是从头开始构建整...

lq1ns259ej3okyvk4jf ⋅ 05/28 ⋅ 0

震撼!七大议题全数入选!九州云与您相约温哥华

温哥华时间5月21-24日,OpenStack峰会将在温哥华会议中心隆重举行。此次会议内容涵盖AI和机器学习、高性能计算(HPC)、边缘计算、网络功能虚拟化(NFV)、容器基础设施以及公有云、私有云和...

OpenInfra ⋅ 05/09 ⋅ 0

OpenStack推出最新版本Newton,显著提升单一云平台 对虚拟化、裸机和容器的管理

2016年10月10日-北京- OpenStack社区日前发布其命名为“Newton”的第14个版本。OpenStack是用于构建云的部署最广泛的开源软件。此次推出的新功能包括:Ironic裸机开通服务,Magnum容器编排集...

玄学酱 ⋅ 05/11 ⋅ 0

美国财富百强企业中50%使用 "创新引擎"OpenStack

三分之二的OpenStack部署现已全面进入生产领域,OpenStack人才需求猛涨,OpenStack社区发力可用性、稳定性与人才培训 2016年6月17日-北京- OpenStack基金会日前宣布,美国财富百强公司中50%...

玄学酱 ⋅ 05/22 ⋅ 0

OpenStack-Ocata版的官方安装文档

点击下载word文档 本文翻译于OpenStack的官方文档。 因为一开始想装Q版,后改装O版, 所以本文的前半截翻译于OpenStack Queens Install Guide; 从安装服务开始,翻译于OpenStack Ocata Ins...

胖子飞鱼 ⋅ 06/01 ⋅ 0

通过 ansible 创建 openstack 虚拟机并部署应用(实战篇)

前文 通过 ansible 创建 openstack 虚拟机并部署应用(配置篇) 接下来我们实战一下。 目录结构 ── ansible.cfg ├── groupvars │ ├── all.yml ├── openstack.py ├── README.m...

李海滨 ⋅ 04/24 ⋅ 0

Openstack 之 相对于VMWare的劣势

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 前期写了两篇博文《Openstack 干掉 VMWare(1)》、《Openstack 干掉 VMWa...

余伟兵 ⋅ 04/24 ⋅ 0

开放基础架构新浪潮:互联网巨头背后的OpenStack

2018年5月21-24日,第十七届OpenStack峰会在温哥华盛大开幕,今年峰会的主题为“Open Infrastructure”。凸显出OpenStack基金会积极拥抱变化,主动求变的态度更加清晰,也是OpenStack基金会开...

云科技时代 ⋅ 05/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部