K8s 集群安装 CNI 网络插件
Last updated
Last updated
# 下载 calico.yaml
curl https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml -O
# 安装 Calico
kubectl create -f calico.yaml
# 查看安装结果
# 以字符串 calico 开头的所有 pod 状态都为 Running 则说明安装成功
# 安装成功后所有节点状态应为 Ready
kubectl get pod -n kube-system -o wide
kubectl get node# 下载 GitHub release 中相应版本带镜像的包
https://github.com/projectcalico/calico/releases# 查看所需镜像
grep -i "image:" calico.yaml
image: docker.io/calico/cni:v3.28.0
image: docker.io/calico/cni:v3.28.0
image: docker.io/calico/node:v3.28.0
image: docker.io/calico/node:v3.28.0
image: docker.io/calico/kube-controllers:v3.28.0
# 获取 namespace
ctr namespace ls
NAME LABELS
k8s.io
# Containerd 导入镜像
# 根据 grep 结果可知安装 Calico 需要 cni、node、controllers 三个镜像
ctr -n k8s.io images import calico-cni.tar
ctr -n k8s.io images import calico-node.tar
ctr -n k8s.io images import calico-kube-controllers.tar# 不出意外,成功镜像导入后 pod 将变成 Running
kubectl get pod -n kube-system -o wide
# Calico 安装成功后,node 状态为 Ready
kubectl get node