Kubernetes 1.24 及以上版本,Calico 网络插件的离线安装

对于 Kubernetes 1.24 及以上版本,Calico 网络插件的离线安装需要适应新的容器运行时环境,即 containerd。以下是详细的步骤,包含如何下载和部署必要的文件和镜像。

1. 准备工作

下载 Calico 相关文件和镜像

在能够访问互联网的机器上进行以下准备工作:

  1. 下载 Calico 安装文件

    从 Calico 的官方文档或 GitHub 仓库下载安装文件。Calico 提供了适用于不同 Kubernetes 版本的安装文件。

    curl -O -L https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/calico.yaml
    
  2. 下载必要的容器镜像

    通过 ctr 命令下载所需的镜像:

    ctr image pull docker.io/calico/cni:v3.24.1
    ctr image pull docker.io/calico/pod2daemon-flexvol:v3.24.1
    ctr image pull docker.io/calico/node:v3.24.1
    ctr image pull docker.io/calico/kube-controllers:v3.24.1
    ctr image pull docker.io/calico/typha:v3.24.1
    
  3. 保存容器镜像

    将这些镜像保存为 tar 文件,以便后续传输到离线环境:

    ctr image export calico-cni-v3.24.1.tar docker.io/calico/cni:v3.24.1
    ctr image export calico-pod2daemon-flexvol-v3.24.1.tar docker.io/calico/pod2daemon-flexvol:v3.24.1
    ctr image export calico-node-v3.24.1.tar docker.io/calico/node:v3.24.1
    ctr image export calico-kube-controllers-v3.24.1.tar docker.io/calico/kube-controllers:v3.24.1
    ctr image export calico-typha-v3.24.1.tar docker.io/calico/typha:v3.24.1
    
传输文件到离线环境

将下载的 calico.yaml 文件和保存的容器镜像 tar 文件传输到离线环境的主节点。

scp calico.yaml root@k8s-master01:/root/
scp calico-cni-v3.24.1.tar root@k8s-master01:/root/
scp calico-pod2daemon-flexvol-v3.24.1.tar root@k8s-master01:/root/
scp calico-node-v3.24.1.tar root@k8s-master01:/root/
scp calico-kube-controllers-v3.24.1.tar root@k8s-master01:/root/
scp calico-typha-v3.24.1.tar root@k8s-master01:/root/

2. 在离线环境中安装 Calico

在离线环境的主节点上执行以下步骤:

导入容器镜像

将传输到离线环境的 tar 文件导入到 containerd

ctr -n=k8s.io image import /root/calico-cni-v3.24.1.tar
ctr -n=k8s.io image import /root/calico-pod2daemon-flexvol-v3.24.1.tar
ctr -n=k8s.io image import /root/calico-node-v3.24.1.tar
ctr -n=k8s.io image import /root/calico-kube-controllers-v3.24.1.tar
ctr -n=k8s.io image import /root/calico-typha-v3.24.1.tar
修改 Calico YAML 文件(如果需要)

确保 Calico YAML 文件中使用的是本地镜像。如果原文件中引用了外部镜像地址,需要替换为本地镜像地址。

打开 calico.yaml 文件并检查 image 字段:

...
containers:
  - name: calico-node
    image: docker.io/calico/node:v3.24.1
  - name: calico-kube-controllers
    image: docker.io/calico/kube-controllers:v3.24.1
  - name: calico-typha
    image: docker.io/calico/typha:v3.24.1
...

确保镜像路径正确且与导入的镜像标签一致。

部署 Calico

使用 kubectl 命令部署 Calico:

kubectl apply -f /root/calico.yaml
验证安装

验证 Calico 组件是否已正确部署:

kubectl get pods -n kube-system

检查所有 Calico 相关的 Pod 是否处于 Running 状态。

总结

离线安装 Calico 网络插件需要在有互联网连接的环境中下载必要的安装文件和容器镜像,然后将这些文件和镜像传输到离线环境,并在离线环境中进行配置和部署。通过上述步骤,你可以在没有互联网连接的情况下成功安装和运行 Calico 网络插件。如果你在安装过程中遇到任何问题,可以通过调整 YAML 配置文件或检查容器镜像的正确性来解决。希望这些步骤对你有所帮助,如果有任何进一步的问题,请随时提出。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ascarl2010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值