docker启用overlay网络

环境

两台服务器
ip地址
192.168.194.128
192.168.194.130
网卡名字都是
eno16777736

第1章 安装docker

1.1 配置docker的yum源安装指定的docker版本

卸载原来安装的docker
dockerrpm -e --nodeps rpm -qa|grep docker
为了可以选择性安装docker版本请按照如下方法配置docker的yum源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
或者
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.2选择对应的docker版本安装查看docker可用版本

yum list docker-ce --showduplicates | sort -r
docker启用overlay网络

1.3 安装特定版本docker

yum -y install docker-ce-18.09.0 docker-ce-cli-18.09.0

第2章 Linux CentOS内核升级

2.1 说明

docker需要升级下内核到3.12+

2.2 服务器参数

操作系统:CentOS 7.4 64位
当前内核版本:Linux 3.10.0

2.3 ELRepo

ELRepo是一个为Linux提供驱动程序和内核映像的存储库。
这里的升级方案就是采用ELRepo提供的内核通道。
ELRepo官网:http://elrepo.org/tiki/tiki-index.php

第3章 升级内核

3.1 当前内核版本

说明:可以看到当前服务器的内核版本为3.10.0,Linux提供的内核信息可以访问此网站:https://www.kernel.org/
$ uname -mrs
Linux 3.10.0-693.2.2.el7.x86_64 x86_64

3.2 导入ELRepo公钥

$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

3.3 安装ELRepo

说明:因当前服务器的操作系统为CentOS7.4,所以采用此安装包。其他操作系统版本安装方式可去ELRepo官网查看。
$ yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

3.4 查看ELRepo提供的内核版本

$ yum --disablerepo="" --enablerepo=“elrepo-kernel” list available
显示:
kernel-lt:表示longterm,即长期支持的内核;当前为4.4.

kernel-ml:表示mainline,即当前主线的内核;当前为5.2.*

3.5 安装kernel-lt内核

$ yum --disablerepo=’*’ --enablerepo=elrepo-kernel install kernel-lt

3.6 查看启动器

$ awk -F’ ‘$1=="menuentry " {print i++ " : " $2}’ /etc/grub2.cfg
0 : CentOS Linux (4.4.186-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)

3.7 设置默认启动为新内核

$ grub2-set-default 0

3.8 重启

说明:重启后发现内核版本已变更为 4.4.186。
$ reboot
$ uname -mrs
Linux 4.4.186-1.el7.elrepo.x86_64 x86_64

第4章 docker启用overlay网络

4.1 要求

1、宿主机主机名不能一样
2、宿主机内核支持vxlan,最好是3.12+
3、数据库

4.2在其中一台宿主机上启动consul容器

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

4.3修改两台宿主机的配置文件

vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H unix:// –cluster-store=consul://192.168.194.128:8500 --cluster-advertise=eno16777736:2376
斜体部分为新加的配置
重新加载配置
systemctl daemon-reload
systemctl restart docker

4.4创建overlay网络

docker network create -d overlay ov-net1

4.5启动容器测试

宿主机1启动
docker run -it --name bu1 --network ov-net1 busybox
宿主机2启动
docker run -it --name bu2 --network ov-net1 busybox