卸载flannel插件
kubectl delete -f kube-flannel.yml #此yml文件是部署flannel时的文件
kubectl get pod -n kube-system | grep flannel
之后重启所有k8s节点的node
确认没有flannel.1网卡之后再安装calico
安装calico
获取资源清单文件
mkdir /data/kubernetes/network/calico -p
cd /data/kubernetes/network/calico/
wget https://docs.tigera.io/archive/v3.22/manifests/calico.yaml
cp calico.yaml{,.bak}
配置资源清单文件
vim calico.yaml
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16" #配置pod的网段范围,Calico 使用的 IPv4 地址池,即 Kubernetes Pod 可以分配的
kubectl apply -f calico.yaml
kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-5bb5d4f7f4-dlb6j 1/1 Running 0 5m36s
calico-node-9zkw8 1/1 Running 0 5m36s
calico-node-f2z6x 1/1 Running 0 5m36s
calico-node-sj94j 1/1 Running 0 5m36s
coredns-64897985d-v9kjz 1/1 Running 1 (146m ago) 3d22h
coredns-64897985d-wdqr7 1/1 Running 1 (146m ago) 3d22h
etcd-master01 1/1 Running 2 (7m23s ago) 3d22h
kube-apiserver-master01 1/1 Running 2 (7m13s ago) 3d22h
kube-controller-manager-master01 1/1 Running 2 (7m23s ago) 3d22h
kube-proxy-79b87 1/1 Running 2 (6m13s ago) 3d22h
kube-proxy-7l4ff 1/1 Running 2 (6m18s ago) 3d22h
kube-proxy-glxrc 1/1 Running 2 (7m23s ago) 3d22h
kube-scheduler-master01 1/1 Running 2 (7m23s ago) 3d22h
部署完成之后每个节点上都有多个进程,分别来处理不同的功能
ps aux | egrep 'NAME | calico'
root 3458 0.0 0.0 112724 996 pts/0 S+ 13:11 0:00 grep -E --color=auto NAME | calico
root 27594 6.6 0.5 1744868 47112 ? Sl 13:03 0:32 calico-node -felix
root 27595 0.0 0.4 1375440 37736 ? Sl 13:03 0:00 calico-node -allocate-tunnel-addrs
root 27596 0.1 0.4 1301964 38052 ? Sl 13:03 0:00 calico-node -monitor-addresses
root 27598 0.1 0.4 1375696 38624 ? Sl 13:03 0:00 calico-node -confd
root 27600 0.0 0.4 1375184 33552 ? Sl 13:03 0:00 calico-node -monitor-token
root 27601 0.1 0.4 1301708 38644 ? Sl 13:03 0:00 calico-node -status-reporter
安装calicoctl命令
wget https://github.com/projectcalico/calico/releases/download/v3.22.5/calicoctl-linux-amd64
mv calicoctl-linux-amd64 /usr/local/bin/calicoctl
chmod +x /usr/local/bin/calicoctl
将calico整合到kubectl里面:
cp -p calicoctl kubectl-calico
命令的基本演示:
kubectl calico node status / calicoctl node status #两者命令相同,不整合到kubectl里面也可以
Calico process is running.
IPv4 BGP status
+-----------------+-------------------+-------+----------+-------------+
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO |
+-----------------+-------------------+-------+----------+-------------+
| 100.100.137.201 | node-to-node mesh | up | 05:03:38 | Established |
| 100.100.137.202 | node-to-node mesh | up | 05:03:38 | Established |
+-----------------+-------------------+-------+----------+-------------+
IPv6 BGP status
No IPv6 peers found.