【云计算】Kolla多节点部署OpenStack实例教程
小标 2019-01-14 来源 : 阅读 3740 评论 0

摘要:本文主要向大家介绍了【云计算】Kolla多节点部署OpenStack实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】Kolla多节点部署OpenStack实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


部署环境介绍:


环境:


Centos 7.3


Kolla 4.0


Openstack Ocata


两台虚拟机节点:


kolla1


配置:4CPU 8G 双网卡 /dev/sdb 200G 做存储盘


角色:部署节点+控制+网络+计算


ens32 100.100.100.1,管理+内部网络


ens33 无IP 外部网络


kolla2


配置:4CPU 8G 双网卡 /dev/sdb 200G 做存储盘


角色: 控制+网络+计算


ens32 100.100.100.2,管理+内部网络


ens33 无IP 外部网络


以下操作在两个节点执行:


关闭selinux


编辑 /etc/selinux/config


SELINUX=disabled


关闭防火墙


systemctl status firewalld


systemctl stop firewalld


systemctl disable firewalld


systemctl status firewalld


firewall-cmd --state


部署NTP


yum install ntp -y


systemctl enable ntpd.service


systemctl start ntpd.service


设置相应的主机名和修改/etc/hosts文件


1)/etc/hostname


kolla1


2)/etc/hosts


127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4


::1 localhost localhost.localdomain localhost6 localhost6.localdomain6


100.100.100.4 kolla1


100.100.100.5 kolla2


重启操作系统


以下操作在kolla1节点执行:


在kolla1上做ssh免密钥登录


# ssh-keygen


# ssh-copy-id kolla1


# ssh-copy-id kolla2


以下操作在两个节点执行:


安装epel源和依赖组件


# yum install epel-release -y


# yum install -y python-pip python-devel libffi-devel gcc openssl-devel git


# pip install -U pip #更新pip


添加docker的yum源:


# tee /etc/yum.repos.d/docker.repo << 'EOF'


[dockerrepo]


name=Docker Repository


baseurl=https://yum.dockerproject.org/repo/main/centos/7/


enabled=1


gpgcheck=1


gpgkey=https://yum.dockerproject.org/gpg


EOF


查看默认下载的docker版本,为高版本,不合适,因此指定安装版本:


# yum install docker-engine-1.12.6 -y


修改docker服务参数,启用MountFlags=shared:


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


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


[Service]


MountFlags=shared


EOF


启动docker服务:


# systemctl daemon-reload


# systemctl enable docker


# systemctl start docker


# pip install -U docker-py


以下操作在kolla1节点执行:


安装ansible并做相应的复制操作:


# pip install -U ansible


# pip install kolla-ansible


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


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


启用本地Registry:


注意:默认docker的registry是使用5000端口,与OpenStack有端口冲突,所以kolla使用的是4000端口


# docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 --restart=always --name registry registry


配置kolla全局配置文件:


# vim /etc/kolla/globals.yml


docker_registry: “100.100.100.1:4000”


docker_namespace: “lokolla”


network_interface: “ens32” #这张网卡是管理网络的网卡


neutron_external_interface: “ens33” #这张网卡是外部网络的网卡


kolla_install_type: “source”


openstack_release: “4.0.0”


kolla_internal_vip_address: “100.100.100.3”


备注:kolla_internal_vip_address,这个ip是一个没有使用的的ip地址,给haproxy使用作为虚拟IP


以下操作在两个节点执行:


添加配置设置容器的访问为不安全访问:


# vi /usr/lib/systemd/system/docker.service


[Service]


ExecStart=/usr/bin/dockerd --insecure-registry 100.100.100.1:4000


重启docker:


# systemctl daemon-reload


# systemctl restart docker


查看cpu是否开启虚拟化:


# egrep -c ‘(vmx|svm)’ /proc/cpuinfo


4


如果数字大于0,则忽略。


如果数字为0,则不支持虚拟化,就不能使用kvm,只能用qemu,需要操作下面两步:


# mkdir -p /etc/kolla/config/nova


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


[libvirt]


virt_type = qemu


cpu_mode = none


EOF


以下操作在kolla1执行:


为/etc/kolla/passwords.yml生成随机密码:


# kolla-genpwd


编辑ansible清单,修改下面部分,其他默认:


# vi /usr/share/kolla-ansible/ansible/inventory/multinode


[control]


kolla1


kolla2


[network]


kolla1


kolla2


[compute]


kolla1


kolla2


[monitoring]


kolla1


kolla2


[storage]


kolla1


kolla2


下载kolla镜像包,注意下载binary或source包都可以,只要在globals.yml文件中的kolla_install_type 匹配即可:


# wget //tarballs.openstack.org/kolla/images/centos-source-registry-ocata.tar.gz


# tar zxvf centos-source-registry-ocata.tar.gz -C /opt/registry/


检查清单:


# kolla-ansible prechecks -i /usr/share/kolla-ansible/ansible/inventory/multinode


检查通过:


PLAY RECAP *********************************************************************


kolla1 : ok=134 changed=0 unreachable=0 failed=0


kolla2 : ok=133 changed=0 unreachable=0 failed=0


开始部署:


# kolla-ansible deploy -i /usr/share/kolla-ansible/ansible/inventory/multinode


部署成功:


PLAY RECAP *********************************************************************


kolla1 : ok=354 changed=153 unreachable=0 failed=0


kolla2 : ok=288 changed=115 unreachable=0 failed=0


生成admin-openrc.sh文件,路径为/etc/kolla/admin-openrc.sh:


# kolla-ansible post-deploy


安装openstack client【两个节点都安装】:


# pip install -U python-openstackclient


加载环境变量:


# . /etc/kolla/admin-openrc.sh


初始化环境(可选),编辑:


# vi /usr/share/kolla-ansible/init-runonce


IMAGE_URL=//download.cirros-cloud.net/0.3.4/


IMAGE=cirros-0.3.4-x86_64-disk.img


IMAGE_NAME=cirros


EXT_NET_CIDR=’200.200.200.0/24′


EXT_NET_RANGE=’start=200.200.200.100,end=200.200.200.200′


EXT_NET_GATEWAY=’200.200.200.2′


执行初始化:


# /usr/share/kolla-ansible/init-runonce


接下来就可以进入dashboard创建虚拟机了。


地址:100.100.100.3


帐号:admin


密码:为/etc/kolla/admin-openrc.sh内的密码


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 1
看完这篇文章有何感觉?已经有2人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved