前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小试牛刀之Kolla单节点部署

小试牛刀之Kolla单节点部署

作者头像
DevinGeng
发布2019-04-09 17:11:37
7410
发布2019-04-09 17:11:37
举报
文章被收录于专栏:云+技术云+技术

写在前面的话,笔者目的是为了尝试用Kolla来方便快捷的部署OpenStack,为以后多节点部署打下基础。

Kola简介:

kolla项目起源于TripleO项目,聚焦于使用Docker容器部署OpenStack服务。该项目由Cisco于2014年9月提出,是OpenStack 社区Big Tent开发模式下的孵化项目。

Kolla项目是一个支持Openstack服务以容器的方式部署,借助ansible部署工具可以简单的扩展到多个节点。同时,又借助于使用 heat 来编排 Kolla 集群。

环境介绍:

10.0.100.201 kolla-all-in-one   Centos7.2系统

10.0.100.207 docker-registry   Centos7.2系统

由于我目的很明确,所以这里就不强调网络了,没有特殊要求,能上网就行。

另外就是安装kolla,必须自己build镜像,由于网络的原因,经常会导致在build 镜像的时候失败。这次我们直接采用kolla官方提供的镜像文件,这样就不需要自己build镜像的环节,也就是说我们搭建本地的docker registry。

环境准备:

安装epel源

代码语言:javascript
复制
yum install epel-release -y

安装所需的依赖包

代码语言:javascript
复制
yum install python-devel libffi-devel gcc openssl-devel git python-pip -y

配置docker源

代码语言:javascript
复制
vi /etc/yum.repos.d/docker.repo

[dockerrepo]
name=Docker Repository
baseurl= http://mirrors.aliyun.com/docker-engine/yum/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

安装docker

代码语言:javascript
复制
yum install docker-engine -y

设置docker

代码语言:javascript
复制
mkdir /etc/systemd/system/docker.service.d

tee/etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF

重启docker服务

代码语言:javascript
复制
systemctl daemon-reload
systemctl enable docker
systemctl restart docker

设置docker采用私有仓库

编辑 /usr/lib/systemd/system/docker.service

代码语言:javascript
复制
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --insecure-registry 10.0.100.207:4000

如何搭建本地docker registry请查看:http://sangh.blog.51cto.com/6892345/1927000

重启Docker服务

代码语言:javascript
复制
systemctl daemon-reload
systemctl restart docker

安装Ansible

代码语言:javascript
复制
yum install ansible -y

下载Kolla源码

代码语言:javascript
复制
git clone http://git.trystack.cn/openstack/kolla-ansible

这里采用trystack的国内源

代码语言:javascript
复制
cd kolla-ansible
pip install .

复制相关文件

代码语言:javascript
复制
cp -r etc/kolla /etc/kolla/
cp ansible/inventory/* /root/

生成密码:

代码语言:javascript
复制
kolla-genpwd

为了方便登录Dashboard,我们修改下keystone的密码,这里根据自己需求修改哈,编辑 /etc/kolla/passwords.yml

代码语言:javascript
复制
keystone_admin_password:devin

另外需要注意的是需要在passwords.yml文件里面新添加一个服务的密码placement_keystone_password,之后在运行下koll-genpwd,placement_keystone_password选项是在O版本新增的,不然部署的时候会报错说placement_keystone_password密码未定义。

接下来编辑 /etc/kolla/globals.yml  文件

代码语言:javascript
复制
kolla_internal_vip_address:"10.0.100.208"
 
kolla_install_type:"source"
openstack_release:"4.0.2"
docker_registry:"10.0.100.207:4000"
docker_namespace:"lokolla"

10.0.100.208这个ip是一个没有使用的的ip地址,他是给haproxy使用,单节点其实压根没有意义

安装OpenStack

代码语言:javascript
复制
kolla-ansible deploy -i /root/all-in-one

验证部署

代码语言:javascript
复制
kolla-ansible post-deploy

这样就创建/etc/kolla/admin-openrc.sh 文件

安装OpenStack client端

代码语言:javascript
复制
pip install python-openstackclient

运行

代码语言:javascript
复制
source /etc/kolla/admin-openrc.sh
cd /usr/share/kolla-ansible
./init-runonce

最后登录Dashboard,大功告成。

wKiom1kdIIrBKO69AACO480iLzw441.png-wh_50
wKiom1kdIIrBKO69AACO480iLzw441.png-wh_50
wKioL1kdII-CHxGPAAGpLXj0iQw672.png-wh_50
wKioL1kdII-CHxGPAAGpLXj0iQw672.png-wh_50

参考文档

http://docs.openstack.org/developer/kolla-ansible/quickstart.html

http://www.chenshake.com/kolla-installation/#comment-69941

http://www.cnblogs.com/lienhua34/p/4922130.html

https://gist.github.com/jeffrey4l/c69688180b056d08a0c1733e24193143

http://www.cnblogs.com/microman/p/6107879.html

http://xcodest.me/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考文档
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档