k8s Flannel 网络插件配置介绍

2019-03-08 0 By admin

一、Etcd 存储服务设置

在运行的Etcd 服务中配置覆盖网络Overlay Network 网段信息。
#etcdctl mk /coreos.com/network/config '{"Network":"10.0.0.0/16"}'
查看设置是否成功
#etcdctl get /coreos.com/network/config
{"Network":"10.0.0.0/16"}

二、Flannel 网络插件安装和基础设置

1、Flannel 服务安装
#yum install flannel -y
2、配置Flannel 服务
Flannel 服务的配置文件/etc/sysconfig/flanneld
#cat /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379"

-设置etcd 服务访问url地址。
FLANNEL_ETCD_PREFIX="/coreos.com/network"
-etcd 服务配置的键值,这个目录用于存储IP地址网段配置信息
FLANNEL_OPTIONS="--logtostderr=false --log_dir=/var/log/k8s/flannel/ --iface=flannel0"
-其他启动配置
2、Flannel 启动
systemctl start flanneld
启动服务
systemctl enable flanneld
开机自启动

三、Flannel 服务启动过程

flanneld 服务需要在docker服务启动之前启动,其启动过程中会执行的重要操作:
1、从etcd中获取network的配置信息。
2、划分subnet,并在etcd中进行注册。
3、将子网信息记录到/run/flannel/subnet.env文件中。
4、将subnet.env文件内容信息,写成docker服务环境配置文件/run/flannel/docker

四、Flannel 服务和Docker 服务关联

使用sysetmctl show docker命令查询Docker 服务启动过程,将会发现在安装flannel后自动生成配置信息:
DropInPaths=/usr/lib/systemd/system/docker.service.d/flannel.conf
加载配置文件内容
[Service]
EnvironmentFile=-/run/flannel/docker

所以Flannel 服务对Docker服务的配置文件进行了修改,会在Docker启动时将Flannel设置的网络信息自动加载到服务中。