kolla部署openstack ocata版Word格式文档下载.docx

上传人:b****5 文档编号:17909378 上传时间:2022-12-12 格式:DOCX 页数:68 大小:595.95KB
下载 相关 举报
kolla部署openstack ocata版Word格式文档下载.docx_第1页
第1页 / 共68页
kolla部署openstack ocata版Word格式文档下载.docx_第2页
第2页 / 共68页
kolla部署openstack ocata版Word格式文档下载.docx_第3页
第3页 / 共68页
kolla部署openstack ocata版Word格式文档下载.docx_第4页
第4页 / 共68页
kolla部署openstack ocata版Word格式文档下载.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

kolla部署openstack ocata版Word格式文档下载.docx

《kolla部署openstack ocata版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《kolla部署openstack ocata版Word格式文档下载.docx(68页珍藏版)》请在冰豆网上搜索。

kolla部署openstack ocata版Word格式文档下载.docx

∙Kolla-Kubernetes,也是负责容器的配置管理

kolla的Docker镜像制作,非常有意思,支持红帽的rpm包,Ubuntu和Debian的Deb包,还能支持源码的方式。

理论上你源码制作的镜像,是可以跑在所有的支持容器的操作系统。

你可以选择ansible来做容器的管理,也可以选择Kubernetes来管理。

目前ansible已经比较完善,Kubernetes还在积极开发中,估计怎么都还需要1年后,才能真正投入使用。

目前阶段,Kolla还没有安装操作系统的功能。

社区的初步考虑是把ironic放到一个容器里,通过这个容器来安装操作系统。

上面图片还可以增强一下,包括下面组件,也都实现了容器化

1.libvirt

2.qemu

3.OVS和linuxbridge

4.Ceph

5.HAproxy,Keeplived

6.MariaDB

7.ELK(Heka)

8.MongoDB

9.rabbitmq

1.2Kolla解决的问题

过去,无论是OpenStack创业公司,还是企业尝试OpenStack,在安装和部署,都花费和消耗大量的精力。

这其实也是影响OpenStack推广的一个重要障碍。

如何才能让大家从安装部署中解脱出来呢?

如何才能让大家把精力放到如何用好OpenStack上呢?

用好OpenStack,才能真正体现出OpenStack的价值。

采用Kolla来部署OpenStack,装好系统后,你大概只需要10分钟的时间,就可以搭建完成fullfeature的功能OpenStack。

各种社区的最佳实践,高可用,都集成在上面。

而且全都是运维人员都明白的python语言。

容器化后的OpenStack,让人感觉真的像积木一样,你需要什么,就拿过来放上去就可以。

这样说可能大家比较容易接受,Kolla让以前很多OpenStack的部署,安装,升级的问题,解决起来更加优雅。

上周见一位朋友谈起OpenStack升级,总结的很好,所谓升级就是把以前的删掉,再装新的版本。

如果你是采用包的安装,例如rdo,那你就慢慢熬夜搞定吧,对于容器来说,做到这点就太简单了,非常优雅。

对于部署,已经没有安装的过程,你只需要把相应的容器放到相应的位置,配置管理推送过去就可以。

对于升级,你只需要做一个容器的替换就可以实现升级,只需要集中精力去处理数据库的问题就可以。

buildimage的过程,其实可以官方提供,大家直接使用就可以。

在ocata版中kolla-ansible已经可以生产部署使用,因此本文采用kolla-anbile方式;

kolla-kubernetes方式暂时仍处于实验性质,且文档很少,本文不做介绍。

1.3部署流程介绍

规划

节点的规划和容器的分布由inventory控制,/usr/share/kolla/ansible/inventory目录下的all-in-one和multinode,如果你想单节点部署,你需要指定all-in-one,如果是多节点部署,你需要指定multinode。

你可以根据实际需求修改all-in-one或multinode。

配置

变量的配置

关于部署的很多变量存放在/usr/share/kolla/ansible/group_vars/all.yml(这里面的变量有一部份与/etc/kolla/globals.yml里面的配置冲突,这些冲突的配置项以globals.yml里面的配置为准),使用这些变量值来替换playbook里面的对应的变量,控制playbook的最终结果。

这些playbook主要分为4类default代表默认的一些配置,meta代表依赖于哪个playbook,task代表具体的部署任务,template代表模板,主要包含容器的配置文件,以及容器启动时的一些初始化操作,主要是拷贝配置文件和启动该容器对应的服务

节点的配置

各个角色节点安装好操作系统后,必须要安装docker以及添加配置,修改hostname,网卡配置,如果这里出现问题,下一步的检测会报错。

值得注意的是,像将存储后端改成ceph,会对存储节点的磁盘进行些配置,但是检测貌似没有关于这方面的任务,如果采用kolla部署,肯定需要对检测的playbook进行完善。

注:

这些操作我是手动执行的,然而kolla在3.0.0及以上的版本提供了deploy-bifrost,deploy-servers两个命令行参数来分别启用一个bifrost的容器和通过bifrost来对节点进行自动化的配置。

至于效果怎么样,我没试过。

检测

kolla提供了一个检测命令,可以对各个角色节点进行一些检测,主要是包版本检测:

docker-py,Ansible;

端口检测:

所有容器配置的监听端口是否已经被占用;

服务检测:

这里检测的就比较杂了,比如libvirt是否在运行,如果运行就会报错,比如Docker版本是否满足要求等等,你可以查看/usr/share/kolla/ansible/roles/prechecks/tasks下面的playbook,知道所有的检测项。

当检测出错时,你就需要根据出错的信息,对某些角色的节点进行些修改配置。

检测通过,下面的部署不一定成功,但检测没通过,下面的部署是肯定失败的。

部署

如果上面的步骤没问题,只需执行kolla-ansible的相关命令就可以自动完成部署并启动相关容器以及容器里面对应的服务

清理

在某些情况下,可能需要对环境中的容器,镜像,甚至节点上的所有关于kolla的配置,进行清理,可以使用kolla-ansibledestory的子命令对环境清理

扩展

kolla增加节点理论上很简单,只需要两步,一是修改对应的inventory,二是对待添加节点做好部署前的准备工作。

由于资源的关系,并未做过相关的测试

修改配置

修改某个容器:

通过修改对应节点/etc/kolla/目录下对应的服务的配置文件,然后重启对应的容器,就可以修改相关配置

修改多个容器:

通过修改部署节点上/usr/share/kolla/ansible/roles相关目录下配置文件的模板和/etc/kolla/globals.yml,以及/usr/share/kolla/ansible/group_vars/all.yml,然后执行kolla-ansible的子命令reconfigure,可以修改相关容器的配置。

注意:

这种方式会将所有容器的配置重新覆盖一次,所有容器都会重启一次

环境升级

可以通过修改/etc/kolla/global.yml里面openstack-release的参数,然后执行kolla-ansibleupgrade的子命令升级环境. 

1.如果在虚拟环境(virt_type:

qemu)升级libvirt,可能会失败. 

2.libvirt的升级还需要进一步验证。

附加

1.docker容器的健康检测 

2.docker重新部署单个服务 

比如:

当我们对一个容器的镜像进行修改后,需要替换掉旧的容器,由于容器只有一个,不可能因此重新更新整个环境。

二、部署规划

2.1主机规划

主机名称

IP

备注

master1

134.64.15.192

0penstack控制节点,计算节点,ceph节点,kolla部署节点,keepalive节点

Master2

134.64.15.193

0penstack控制节点,计算节点,ceph节点,keepalive节点

Master3

134.64.15.194

0penstack控制节点,计算节点,ceph节点

compute1

134.64.15.195

待迁移完成后加入

compute2

134.64.15.196

harbor

134.64.15.166

基于Web的容器镜像仓库

134.64.14.34

Yum镜像仓库

不能同时重启两个keepalive节点,master1和master2,否则浮动ip会在两个节点同时拉起影响使用

2.2网卡规划

网卡名称

用途

enp130s0f0

管理网络,ceph网络

enp130s0f1

neutron_external_interface外部接口,对应物理交换机端口设为trunk,,虚机通过此网卡与dcn网通信

2.3磁盘规划

磁盘名称

大小

类型

/dev/sdb

4000G

sata

Cephsatapool

Sata盘标记为KOLLA_CEPH_OSD_BOOTSTRAP;

ssd盘标记为KOLLA_CEPH_OSD_CACHE_BOOTSTRAP

/dev/sdc

/dev/sdd

/dev/sde

Sata

/dev/sdf

/dev/sdi

/dev/sdh

/dev/sdg

/dev/sdj

479G

ssd

Cephssdpool

/dev/sdk

2.4软件版本及下载地址

软件或安装包名称

版本

下载地址

在自己笔记本上安装wget工具,在powershell中下载如下安装包

centos7epel源

wget-S-c-r-np-L

Centos7updates源

Centos7extra源

Centos7源

centos7.3

以下安装包通过http点击或迅雷方式下载

docker

1.12.6

使用docker官方版本,只下载其中1.12.6版本;

一定不能使用centos提供的docker版本

Pythonjinja2

2.8

https:

//pypi.python.org/pypi/Jinja2/2.8#downloads

下载后上传至openstack部署管理主机上手工安装,命令:

pipinstallxxx

harbor离线安装包

1.1.0

Web管理界面镜像仓库

docker-compose

1.7

迅雷下载

openstack组件kolla镜像

ocata

http:

//tarballs.openstack.org/kolla/images/centos-binary-registry-ocata.tar.gz

以下包yum源中已包含,不用另外下载

python-docker

1.9

centos7extra源自带

ansible

2.2.x

centos7epel源自带

python-pip

8.1.2

Centos7epel源自带

以下安装包通过gitclone方式下载(笔记本开虚拟机并联网)

kolla

//tarballs.openstack.org/kolla/kolla-stable-ocata.tar.gz

手工编译镜像需下载此包,我们使用官方已经编译好的镜像,此步可选

kolla-ansible

gitclonehttps:

//git.openstack.org/openstack/kolla-ansible-bstable/ocata

下载后上传到openstack部署管理主机上手工安装,安装命令pythonsetup.pyinstall

Kolla-ansible依赖包

#python包管理工具

gitclone

#安装pip2pi工具

cdpip2pi

pythonsetup.pyinstall

#创建目录py_package,将kolla-ansible两个目录中的文件

test-requirements.txt

requirements.txt

#拷贝至python-package目录,执行命令下载安装软件所需的python包

pip2tgz.-r/root/kolla-ansible/requirements.txt

pip2tgz.-r/root/kolla-ansible/test-requirements.txt

#注意安装pip2pi工具后才有pip2tgz命令

python-openstackclient

cdpy_package

pip2tgz.python-openstackclient

python-neutronclient

pip2tgz.python-neutronclient

Dockerregistry镜像

不低于2.4

dockerhub

dockersearchxxx

dockerpullxxx

dockersave-oxxx.tarxxx

若使用harbor镜像仓库,则此项可选

三、部署saltstack

安装自动化运维工具,提高工作效率,避免出错和遗留

3.1Master节点

登录134.64.15.192主机执行以下命令

1.安装salt-master包

yum-yinstallsalt-master

1.检查配置文件:

cat/etc/salt/master|grep-v^#|awkNF

interface:

134.64.15.192

file_roots:

base:

-/srv/salt/

pillar_roots:

-/srv/pillar/

3.Master节点同时也配置成minion节点

cat/etc/salt/minion|grep-v^#|awkNF

master:

2.启动服务并设置开机启动

systemctlenablesalt-master

systemctlrestartsalt-master

systemctlenablesalt-minion

systemctlrestartsalt-minion

3.2Minion节点

在134.64.15.193/194执行以下命令

1.

yum-yinstallsalt-minion

2.配置

3.启动服务

3.3接受saltminion客户端

salt-key–L查看客户端key列表

salt-key–A接受所有的key

salt'

master*'

test.ping

简单测试是否配置成功

若有报错,请查看/var/log/salt目录中的master或minion日志

四、操作系统环境准备

1.在14.34上搭建本地yum源

过程略,有centos73,ceph,epelnew,centos-extra,updates四个源

[root@master1yum.repos.d]#cat*.repo

[centos73]

name=centos73

baseurl=http:

//134.64.14.34/centos73

gpgcheck=0

enable=1

[epelnew]

name=epelnew

//134.64.14.34/epelnew

[centos-extra]

name=centos-extra

//134.64.14.34/centos-extra

[updates]

name=updates

//134.64.14.34/updates

2.在14.34上搭建本地pip源(kolla-ansible的依赖包)

将package包上传至14.34/images/目录,制作本地pip源

cd/images/

dir2pipython_package/

cd/var/www/html

ln-s/image/python_package/simplesimple

3.所有节点配置pip客户端

客户端主机配置pip.conf文件

cdhome目录

mkdir.pip

cd.pip

vipip.conf

[global]

index-url=http:

//134.64.14.34/simple

4.所有节点配置/etc/hosts

[root@master1yum.repos.d]#cat/etc/hosts

127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4

134.64.15.192master1

134.64.15.193master2

134.64.15.194master3

134.64.15.166harbor

5.所有节点配置root用户ssh无密码登录

ssh-keygen-trsa

ssh-copy-idroot@master1

ssh-copy-idroot@master2

ssh-copy-idroot@master3

6.所有节点关闭防火墙

salt"

*"

cmd.run"

systemctlstopfirewalld"

systemctldisablefirewalld"

7.所有节点关闭selinux并重启

[root@master1yum.repos.d]#cat/etc/selinux/config|grep-v^#|awkNF

SELINUX=disabled

SELINUXTYPE=targeted

8.所有节点关闭NetworkManager

salt“*”cmd.run“systemctlstopNetworkManager”

salt“*”cmd.run“systemctldisableNetworkManager”

9.所有节点关闭libvirted

salt“*”cmd.run“systemctlstoplibvirtd.service”

salt“*”cmd.run“systemctldisablelibvirtd.service”

10.所有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1