K8s 集群安装 CNI 网络插件
说明
官方文档:
https://docs.tigera.io/calico/latest/getting-started/kubernetes/self-managed-onprem/onpremises

安装
# 下载 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排错
若出现镜像拉取失败,可根据如下步骤操作
Step 1 : 下载镜像
# 下载 GitHub release 中相应版本带镜像的包
https://github.com/projectcalico/calico/releases
Step 2 : 解压后上传镜像至服务器

Step 3 : 导入镜像(所有节点都执行)
# 查看所需镜像
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

Last updated