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