失效链接处理 |
docker&openstack PDF 下载
本站整理下载:
提取码:35t1
相关截图:
主要内容:
一、简介
Docker容器化再加上Ansible自动化运维工具的部署方式,构成了Kolla-Ansible项目。Kolla-Ansible的官方文档介绍了如何在在线的情况下,如何使用该项目部署Openstack。
本文详细介绍如何使用Kolla-Ansible项目,在离线的情况下,在物理机服务器上操作部署Openstack(Pike或是Queens)多节点(Multinodes)的步骤。将Kolla-Ansible转化为离线部署,主要就是yum源,python源以及docker仓库的搭建配置,有了这些离线基础,才具备离线安装部署Openstack的条件。
本文中设计的yum安装,python安装涉及的源均为自己搭建好的离线源,docker的registry本地私有仓库。其中yum源,python源以及docker仓库的搭建,参照其对应的文档,此处不详细叙述。
二、部署结构设计
本文部署示例采用七台机器部署高可用(HA)的Openstack环境,分别是: monitor,controller01,controller02,controller03,computer01,computer02, computer03另外一台机器提供离线yum、python源以及docker私有仓库,主机名是source。
注:
1)controller01、controller02、controller03三个组成control角色高可用(配置三台control自动会配置成HA),同时,部署ceph分布式集群,由三台controller和三台computer共同组成storage存储。
2)源配置source主机,配有yum源、python源以及docker私有仓库。
3)网卡做bond设置,模式(mode)取4,链路聚合(LACP)。本示例中俩个万兆网卡绑定做bond0, 俩个前兆网卡绑定做bond1。bond0走openstack管理和ceph存储,bond1走虚机对外访问公开网络。
三、双网卡绑定Bond设置
三台controller和三台computer以及monitor均执行。双网卡绑定,模式取4,链路聚合模式(LACP),俩个万兆的网卡(eth0和eth1)做bond0(有IP),俩个前兆的网卡(eth2和eth3)做bond1(无IP)。
1)bond0、eth0和eth1的配置文件如下:
2)bond1、eth2和eth3的配置文件如下:
配置修改完之后,重启网卡:
service network restart
查看绑定结果
# cat /proc/net/bonding/bond0
# cat /proc/net/bonding/bond1
查看到的结果中,eth0、eth1和bond0的mac地址一致,eth2、eth3和bond1的mac地址一致,即可。
四、基础环境准备
三台controller和三台computer以及monitor均执行。
4.1升级系统
# yum update -y
4.2安装必须的软件
# yum install git net-tools ntp vim wget ansible gcc openssl-devel python-devel python-pip libffi-devel libselinux-python python-openstackclient python-neutronclient -y
4.3添加ntp时钟服务器
# vi /etc/ntp.conf
如下图所示,
添加ntp时钟主备服务器,“10.109.192.4 10.109.192.42”是我们自己的时钟主备服务器,大家在安装部署中可以使用自己的时钟服务器,目的是保持各个服务器之间的时间一致,不然会导致openstack的服务异常。
server 10.109.192.4 prefer
server 10.109.192.42
# systemctl enable ntpd.service && systemctl start ntpd.service && systemctl status ntpd.service
# ntpq -p
可以查看到同步的时间主机:
4.4关闭libvirtd服务
创建的虚机没有libvirtd服务,但是物理机服务器会有,这个必须要关闭。
# systemctl stop libvirtd.service && systemctl disable libvirtd.service && systemctl status libvirtd.service
4.5关闭防火墙
# systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
4.6 disable 掉selinux
# sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
或是直接修改:
# vim /etc/selinux/config
设置SELINUX=disabled ,如下图所示:
reboot之后生效。
四、安装配置Docker
4.1安装Docker软件包
新增Docker的Yum仓库:
# vim /etc/yum.repos.d/docker.repo
添加以下内容
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
然后清除yum,做缓存:
# yum clean all && yum makecache
安装docker:
# yum install -y epel-release
# yum install -y docker-engine docker-engine-selinux
# pip install urllib3 shade docker
使用阿里的docker镜像服务:
# mkdir -p /etc/docker
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://7g5a4z30.mirror.aliyuncs.com"]
}
|