一.部署

1.手动安装calico

curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/calico.yaml -O

kubectl apply -f calico.yaml

 官网地址:
https://docs.tigera.io/calico/latest/getting-started/kubernetes/quickstart
https://docs.tigera.io/calico/latest/getting-started/kubernetes/self-managed-onprem/onpremises
 
2.安装calicoctl:

curl -L https://github.com/projectcalico/calico/releases/download/v3.26.4/calicoctl-linux-amd64 -o calicoctl

chmod +x calicoctl

官网地址:https://docs.tigera.io/calico/latest/operations/calicoctl/install

 
二.不同模式对比
 1.IPIP模式,通过kubectl get  ippool 查看 ipipMode是Always

 路由情况,通过隧道tunl0封装,11.0.1.128对方node宿主机ip地址

 ip a里多个tunl0

 traceroute不同node pod:经过宿主机ip 11.0.1.134 ,通过tunl0, 192.169.166.192...路由出去,直达对方pod ip

 ping,两ip,直达,通过tunl0通信, 不走ens33

 

2.BGP模式

 路由,直接走宿主机,11.0.1.128对方node 宿主机ip地址

 traceroute,直接通过双方宿主机

 ping, tcpdump查看直接通信

 

3.vxlan模式

 

ip地址,多了vxlan.calico网卡

路由,通过vxlan.calico网卡路由, 且通过对方node的vxlan.calico ip

 traceroute 其他node pod ip,经过本node宿主机ip,对方vxlan.calico ip

 PING,tcpdump,

 

 
 
总结:
从路由看,flannel host-gw和calico BGP 一致,直接宿主机路由。 flannel ipip 与calico ipip类似, calico vxlan 和 flannel vxlan类似。 与网上说明有些不同