Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有一个完整的子网,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。

1. 安装flannel

yum -y install flannel

1.1 修改flannel配置文件

vi /etc/sysconfig/flanneld

FLANNEL_ETCD_ENDPOINTS="http://etcd1:2379,http://etcd2:2379,http://etcd3:2379"
FLANNEL_ETCD_PREFIX="/atomic.io/network"

1.2 配置etcd中Flannel所使用的key

etcdctl mk /atomic.io/network/config '{ "Network": "172.16.0.0/16" }'

  创建网络使用的网段必须与Kubernetes配置服务使用的网段相同。

1.3 启动flannel并重启Kubernetes服务

  • master:

    systemctl enable flanneld.service

    systemctl start flanneld.service

    service docker restart

    systemctl restart kube-apiserver.service

    systemctl restart kube-controller-manager.service

    systemctl restart kube-scheduler.service

  • node:

    systemctl enable flanneld.service

    systemctl start flanneld.service

    service docker restart

    systemctl restart kubelet.service

    systemctl restart kube-proxy.service

05-11 19:54