cni是k8s的一個接口,如果需要對接k8s就需要遵循cni接口標准,部署cni主要是為了接通第三方網絡;
關於第三方網絡插件實現
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
關於cni和flanel安裝規划
- cni安裝到每台node節點
- flannel安裝到master節點
node節點安裝cni
一、下載安裝包cni
二、解壓安裝包cni
mkdir -p /opt/cni/bin #工作目錄
mkdir -p /etc/cni/net.d #配置文件
tar -zxvf
cni-plugins-linux-amd64-v0.8.5.tgz -C /opt/cni/bin
master節點安裝flannel
三、我們安裝flannel
flannel安裝教程
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
注意:
- 這個flannel只需要安裝到master節點上
- 這個文件需要FQ,下載到服務器后直接執行 kubectl apply -f kube-flannel.yml(里面的鏡像需要FQ,直接安裝國外的會失敗,不建議)
- yaml里面的網絡net-conf.json要和 cat /opt/kubernetes/cfg/kube-controller-manager.conf 里面的cluster-cidr值一致
- 如果不使用flannel,其他的組件也一樣
四、執行ymal
kubectl apply -f kube-flannel.yml
五、安裝好后查看
kubectl get pods -n kube-system
輸出以下內容
NAME READY STATUS RESTARTS AGE
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 19m
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 19m
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 19m
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 19m
1/1表示啟動成功,0/1表示啟動失敗
六、查看pod
安裝好后,每個node都會啟動一個pod
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 18m 172.19.216.179 k8s-node1 <none> <none>
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 18m 172.19.216.180 k8s-node2 <none> <none>
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 18m 172.19.216.179 k8s-node1 <none> <none>
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 18m 172.19.216.180 k8s-node2 <none> <none>
七、我們在每個node節點查看flannel網卡
通過ifconfig 我們會看到節點都有flannel網卡

kube-flannel.yaml