CentOS 7 Flannel的安装与配置
1. 安裝前的準備
etcd 3.2.9
Docker?17.12.0-ce
三臺機器10.100.97.236, 10.100.97.92, 10.100.97.81
etcd不同版本之間的差別還是挺大的,使用V3版本跟Flannel整合起來會有坑,下文詳解。
2. 安裝
sudo yum install -y flannel安裝后,版本是0.7.1
3. 在etcd中設置變量
1 etcdctl put /coreos.com/network/config '{ "Network": "172.17.0.0/16" }' 2 curl -X PUT http://127.0.0.1:2379/v2/keys/coreos.com/network/config -d value='{ "Network": "172.17.0.0/16" }'有兩種方法可以設置,但是flannel 0.7.1版默認使用的是etcd V2的http接口,所以如果etcd是V3版本而且用第一種方法設置那么會導致fannel讀取不到配置,運行flannel會報錯failed to retrieve network config: 100: Key not found (/coreos.com);如果ectd是V2版本,那么兩種方法設置都可以。
同時,如果出現類似的報錯,可以使用下面的命令測試
curl http://172.0.0.1:2379/v2/keys/coreos.com/network/config4. 放開8285 udp端口
sudo firewall-cmd --zone=public --add-port=8285/udp --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-ports5. 創建日志目錄
sudo mkdir -p /var/log/flannel6. 修改flanneld配置
sudo vim /etc/sysconfig/flanneld修改為
FLANNEL_ETCD_ENDPOINTS="http://10.100.97.236:2379,http://10.100.97.92:2379,http://10.100.97.81:2379" FLANNEL_ETCD_PREFIX="/coreos.com/network" FLANNEL_OPTIONS="--logtostderr=false --log_dir=/var/log/flannel/ --iface=你的網卡名字"7. 啟動
sudo systemctl daemon-reload sudo systemctl start flanneld sudo systemctl status flanneld sudo systemctl enable flanneld8. 配置Docker
Flanneld服務需要先于Docker啟動,此時應該停掉Docker,待配置完之后重啟。
配置好Flanneld之后它會從etcd中獲取network的配置信息,然后劃分subnet并在etcd中進行注冊,然后將子網信息記錄到/run/flannel/subnet.env中,最后將subnet.env轉寫成一個docker的環境變量文件/run/flannel/docker。
可以通過以下命令查看相關文件信息:
cat /run/flannel/subnet.env cat /run/flannel/docker此外,Flanneld還會自動修改Docker的配置
systemctl show docker?我們需要修改/usr/lib/systemd/system/docker.service,并應用/run/flannel/docker當中的DOCKER_NETWORK_OPTIONS配置:
sudo vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock $DOCKER_NETWORK_OPTIONS重啟Docker:
sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl status docker?9. 測試安裝結果
ip addr show查看docker的地址段是否在etcd中存儲的地址段中。
轉載于:https://www.cnblogs.com/eagle6688/p/8311587.html
總結
以上是生活随笔為你收集整理的CentOS 7 Flannel的安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php var_export与var_d
- 下一篇: [转] Java, 使用 Reactor