Flannel网络方案详解
需要在每台Node上都安装flannel。flannel软件的下载地址为https://github.com/ coreos/ flannel/releases。将下载的压缩包flannel-
flanneld和mk-docker-opts.sh复制到/usr/bin(或其他PATH环境变量中的目录),即可完成对flannel的安装。
DATAGURU专业数据分析社区
从Docker到Kubernetes之技术实战 讲师 Leader-us
Flannel网络方案详解
使用systemd系统为例对flanneld服务进行配置。
编辑服务配置文件/usr/lib/systemd/system/flanneld.service:
[Unit]
Description=Flanneld overlay address etcd agent After=network.target Before=docker.service [Service] Type=notify
EnvironmentFile=/etc/sysconfig/flanneld
EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} $FLANNEL_OPTIONS [Install]
RequiredBy=docker.service WantedBy=multi-user.target
编辑配置文件/etc/sysconfig/flanneld,设置etcd的URL地址(Master上安装的etcd节点地址) FLANNEL_ETCD="http://192.168.1.128:4001"
DATAGURU专业数据分析社区
从Docker到Kubernetes之技术实战 讲师 Leader-us
Flannel网络方案详解
在启动flannel之前,需要在etcd中添加一条网络配置记录,这个配置将用于flannel分配给每个Docker的虚拟IP地址段。
# etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' 由于flannel将覆盖docker0网桥,所以如果Docker服务已启动,则停止Docker服务,然后systemctl restart flanneld
在每个节点上执行:
sudo mk-docker-opts.sh -i
source /run/flannel/subnet.env sudo rm /var/run/docker.pid
sudo ifconfig docker0 ${FLANNEL_SUBNET}
重启动一次Docker,这样配置就完成了。
从Docker到Kubernetes之技术实战 讲师 Leader-us
DATAGURU专业数据分析社区
总结
Flannel很新颖很不错
实际在可控的网络里,路由的方案则性能最好,适合生产用,配合Quagga 来做到自动路由更新
DATAGURU专业数据分析社区
从Docker到Kubernetes之技术实战 讲师 Leader-us
FAQ时间 DATAGURU专业数据分析网站
从Docker到Kubernetes-12 - 图文



