您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何安裝配置flannel,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
安裝和配置 flannel
flannel 沒有現成的執行文件可用,必須自己 build,最可靠的方法是在 Docker 容器中 build。不過用于做 build 的 docker 鏡像托管在 gcr.io,國內可能無法直接訪問,為方便大家,我把它 mirror 到了 docker hub,構建步驟如下:
下載并重命名 image。
docker pull cloudman6/kube-cross:v1.6.2-2
docker tag cloudman6/kube-cross:v1.6.2-2 gcr.io/google_containers/kube-cross:v1.6.2-2
下載 flannel 源碼。
git clone https://github.com/coreos/flannel.git
開始構建。
cd flannel
make dist/flanneld-amd64
將 flanneld 執行文件拷貝到 host1 和 host2。
scp dist/flanneld-amd64 192.168.56.104:/usr/local/bin/flanneld
scp dist/flanneld-amd64 192.168.56.105:/usr/local/bin/flanneld
先將配置信息寫到文件 flannel-config.json 中,內容為:
{
"Network": "10.2.0.0/16",
"SubnetLen": 24,
"Backend": {
"Type": "vxlan"
}
}
Network
定義該網絡的 IP 池為 10.2.0.0/16
。
SubnetLen
指定每個主機分配到的 subnet 大小為 24 位,即10.2.X.0/24
。
Backend
為 vxlan
,即主機間通過 vxlan 通信,后面我們還會討論host-gw
。
將配置存入 etcd:
etcdctl --endpoints=192.168.56.101:2379 set /docker-test/network/config < flannel-config.json
/docker-test/network/config
是此 etcd 數據項的 key,其 value 為 flannel-config.json 的內容。key 可以任意指定,這個 key 后面會作為 flanneld 的一個啟動參數。執行 etcdctl get
確保設置成功。
啟動 flannel
在 host1 和 host2 上執行如下命令:
flanneld -etcd-endpoints=http://192.168.56.101:2379 -iface=enp0s8 -etcd-prefix=/docker-test/network
-etcd-endpoints
指定 etcd url。
-iface
指定主機間數據傳輸使用的 interface。
-etcd-prefix
指定 etcd 存放 flannel 網絡配置信息的 key。
host1 上輸出如下:
① enp0s8 被選作與外部主機通信的 interface。
② 識別 flannel 網絡池 10.2.0.0/16。
③ 分配的 subnet 為 10.2.40.0/24。
flanneld 啟動后,host1 內部網絡會發生一些變化:
一個新的 interface flannel.1
被創建,而且配置上 subnet 的第一個 IP 10.2.40.0。
host1 添加了一條路由:目的地址為 flannel 網絡 10.2.0.0/16 的數據包都由 flannel.1 轉發。
host2 輸出類似,主要區別是 host2 的 subnet 為 10.2.17.0/24
看完上述內容,你們對如何安裝配置flannel有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。