1. Calico官网 https://docs.projectcalico.org/archive/v3.18/about/about-calico
2. 我这里是在k8s环境在原有网络插件flannel的基础上,增加Calico的方式,故参考官网该链接 https://docs.projectcalico.org/archive/v3.18/getting-started/kubernetes/flannel/flannel
2.1 请确认k8s的 /etc/kubernetes/manifests/kube-controller-manager.yaml 中 这两个配置项 --cluster-cidr=<your-pod-cidr>
and --allocate-node-cidrs=true
2.2 下载这个文件 curl https://docs.projectcalico.org/archive/v3.18/manifests/canal.yaml -O
2.3 下载到的canal.yaml文件用到了5个镜像,其中有一个flannel我们已经有了且已安装,其余四个手动下载并在每一台k8s环境中都加载安装
docker pull docker.io/calico/node:v3.18.4 docker pull docker.io/calico/cni:v3.18.4 docker pull docker.io/calico/kube-controllers:v3.18.4 docker pull docker.io/calico/pod2daemon-flexvol:v3.18.4 docker save -o calico-node-v3.18.4.tar calico/node:v3.18.4 docker save -o calico-pod2daemon-flexvol-v3.18.4.tar calico/pod2daemon-flexvol:v3.18.4 docker save -o calico-cni-v3.18.4.tar calico/cni:v3.18.4 docker save -o calico-kube-controllers-v3.18.4.tar calico/kube-controllers:v3.18.4 #安装步骤需要每台(master和node)均执行 docker load -i calico-node-v3.18.4.tar docker load -i calico-pod2daemon-flexvol-v3.18.4.tar docker load -i calico-cni-v3.18.4.tar docker load -i calico-kube-controllers-v3.18.4.tar
2.4 修改canal.yaml文件(官网下载后,有几个地方必须修改才行)