在前面的小節中,我們沒有特別配置,calico 會為自動為網絡分配 subnet,當然我們也可以定制。
首先定義一個 IP Pool,比如:
cat << EOF | calicoctl create -f -
- apiVersion: v1
kind: ipPool
metadata:
cidr: 17.2.0.0/16
EOF
用此 IP Pool 創建 calico 網絡。
docker network create --driver calico --ipam-driver calico-ipam --subnet=17.2.0.0/16 my_net
此時運行容器將分配到指定 subnet 中的 IP。
當然也可以通過
--ip
為容器指定 IP,但必須在 subnet 范圍之內。
至此,我們已經討論了 Docker 的多種跨主機網絡方案,下一節將從多個維度比較各種方案的優缺點。