k8s網路外掛
1、版本選擇
cacli版本對應關係查詢。
參考:https://blog.csdn.net/LRXmrlirixing/article/details/126648454
https://docs.tigera.io/archive/v3.10/getting-started/kubernetes/requirements
本次安裝的的k8s版本是v1.14.3,所以可以使用calico v3.10版本。
同樣的頁面:Installing Calico for policy and networking (recommended),我們看下安裝方法。
[root@k8s-master1 kubeadms]# curl https://docs.projectcalico.org/v3.10/manifests/calico.yaml -O
[root@k8s-master1 kubeadms]# vi calico.yaml
# Cluster type to identify the deployment type
- name: CLUSTER_TYPE
value: "k8s,bgp"
- name: IP_AUTODETECTION_METHOD
value: "interface=ens33"
# Auto-detect the BGP IP address.
[root@k8s-master1 kubeadms]# kubectl create -f calico.yaml
[root@k8s-master1 kubeadms]# kubectl get pods -A -owide |grep calico-node
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system calico-node-42d7g 0/1 Init:ImagePullBackOff 0 75s 192.168.1.134 k8s-node1 <none> <none>
kube-system calico-node-8mxbl 0/1 Pending 0 75s <none> k8s-master3 <none> <none>
kube-system calico-node-g8ckq 0/1 Init:ImagePullBackOff 0 75s 192.168.1.135 k8s-node2 <none> <none>
kube-system calico-node-hn8ks 0/1 Pending 0 75s <none> k8s-node3 <none> <none>
kube-system calico-node-r4kzp 0/1 Init:ImagePullBackOff 0 75s 192.168.1.131 k8s-master1 <none> <none>
kube-system calico-node-vjd4g 0/1 Init:ImagePullBackOff 0 75s 192.168.1.132 k8s-master2 <none> <none>
如上,很明顯就是下載images失敗,讀取calico.yaml檔案,看下需要下載那些映象。
2、下載映象
calico映象下載地址:https://github.com/projectcalico/calico/releases
下載3.10.4版本:https://docs.tigera.io/archive/v3.10/release-notes/,, v3.10.4 下面的Release archive 下載這個連結就好。本地下載很慢,最好在外網環境下載。
如下截圖下載,
下載過程超級慢,整個目錄結構如下,比較全面。這裡不僅有images映象包,也有yaml配置檔案和bin二進位制資訊。
[root@k8s-node2 ~]# cd /root/release-v3.10.4/images [root@k8s-node2 images]# ls calico-cni.tar calico-dikastes.tar calico-flannel-migration-controller.tar calico-kube-controllers.tar calico-node.tar calico-pod2daemon-flexvol.tar calico-typha.tar [root@k8s-node2 images]# docker load -i calico-cni.tar [root@k8s-node2 images]# docker load -i calico-node.tar [root@k8s-node2 images]# docker load -i calico-pod2daemon-flexvol.tar [root@k8s-node2 images]# docker images |grep calico calico/node v3.10.4 870da06857d7 4 years ago 192MB calico/cni v3.10.4 62ce410b90df 4 years ago 163MB calico/kube-controllers v3.10.4 0bffddb67f96 4 years ago 50.6MB calico/pod2daemon-flexvol v3.10.4 63fbf227cf10 4 years ago 9.78MB
檢視,匯入了image之後的節點,pod都已經正常啟動了。
依次匯入其他節點,操作網路部署完成。
也可以嘗試一下第二種方法
參考:K8S Calico網路外掛 - RidingWind - 部落格園嘗試手動從quay.io下載映象。quay.io是一個公共映象倉庫。(速度比較快,建議使用這一種方法)
[root@k8s-node1 ~]#docker pull quay.io/calico/cni:v3.10.4 [root@k8s-node1 ~]#docker pull quay.io/calico/node:v3.10.4 [root@k8s-node1 ~]#docker pull quay.io/calico/pod2daemon-flexvol:v3.10.4 [root@k8s-node1 ~]#docker tag quay.io/calico/node:v3.10.4 calico/node:v3.10.4 [root@k8s-node1 ~]#docker tag quay.io/calico/pod2daemon-flexvol:v3.10.4 calico/pod2daemon-flexvol:v3.10.4 [root@k8s-node1 ~]#docker tag quay.io/calico/cni:v3.10.4 calico/cni:v3.10.4 [root@k8s-node1 ~]#docker images |grep calico
以上兩種方案都是安裝calico網路差距的方法。