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