Calico离线安装1. 在线下载 Calico 配置文件在有外网的环境下准备一台相同操作系统的机器(资源准备机)上,需要下载 Calico 官方的 YAML 文件,这个文件定义了在 K8s 集群中部署 Calico 所需的所有资源(Deployment, DaemonSet, ConfigMap, ServiceAccount 等)。在下载calico离线安装包之前,需要先查询一下与要安装的kubenetes版本相匹配的calico版本,查看calico的官方文档https://docs.tigera.io/calico/latest/getting-started/kubernetes/self-managed-onprem/onpremises来确定兼容性。下载 Calico YAML 配置文件,推荐的方式是使用curl命令从GitHub直接下载,以v3.27.0版本为例,下载命令如下:# 创建一个目录来存放下载的文件 mkdir -p calico-offline-files cd calico-offline-files # 下载 Calico 的 YAML 文件 curl -O https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/calico.yaml可以尝试一下访问 Calico GitHub Release 页面:https://github.com/projectcalico/calico/releases,找到指定的版本,直接下载tgz包。下载完成后,在本地解压这个压缩包。可以进入 manifests/ 目录,找到calico.yaml文件,复制内容并在本地创建同名文件粘贴即可。2.从Calico YAML文件中提取并下载所有容器镜像1. 解析 YAML 文件,提取镜像列表# 确保你在 calico-offline-files 目录下 cd /path/to/calico-offline-files # grep 查找所有 image: 开头的行,然后 awk 提取镜像名称, # 用 sort 和 uniq 去除重复项 grep "image:" calico.yaml | awk -F 'image: ' '{print $2}' | sort | uniq # 输出内容示例如下 docker.io/calico/cni:v3.27.0 docker.io/calico/kube-controllers:v3.27.0 docker.io/calico/node:v3.27.0 quay.io/tigera/operator:v1.28.02. 拉取镜像根据自己使用的容器运行时,使用docker或者ctr命令拉取镜像列表中的所有容器镜像文件。以containerd.io容器运行时为例:ctr image pull docker.io/calico/cni:v3.27.0 ctr image pull docker.io/calico/kube-controllers:v3.27.0 ctr image pull docker.io/calico/node:v3.27.0 ctr image pull quay.io/tigera/operator:v1.28.0 查看镜像列表 ctr image ls3. 打包镜像cd /