k8s 离线安装calico

k8s安装calico的命令是

复制代码
curl -L https://projectcalico.docs.tigera.io/manifests/calico.yaml -O
kubectl apply -f calico.yaml

但是在pull calico的镜像时,由于一些网络原因,可能会导致image pull失败的错误。

可以尝试离线安装calico, 具体步骤是

  1. 去github上面下载自己所需的calico离线包,项目地址:

    https://github.com/projectcalico/calico

  2. 假设要安装最新版本v3.28.0,首先可以下载这个版本的calico.yaml,具体命令是

    curl -O -L https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml

  3. 下载完成之后可以通过calico.yaml查看需要安装哪些离线包,命令是:

    $ cat calico.yaml | grep image
    image: docker.io/calico/cni:v3.28.0
    imagePullPolicy: IfNotPresent
    image: docker.io/calico/cni:v3.28.0
    imagePullPolicy: IfNotPresent
    image: docker.io/calico/node:v3.28.0
    imagePullPolicy: IfNotPresent
    image: docker.io/calico/node:v3.28.0
    imagePullPolicy: IfNotPresent
    image: docker.io/calico/kube-controllers:v3.28.0
    imagePullPolicy: IfNotPresent

  4. 通过上述命令,查看到需要安装calico-cni.tar, calico-kube-controllers.tar 和 calico-node.tar三个包,然后需要将这三个包导入到k8s的命名空间中

查询命名空间的命令是

复制代码
$ sudo ctr namespace ls
NAME    LABELS
default
k8s.io
moby

k8s的命名空间是k8s.io

使用导入命令将这三个包导入到k8s的命名空间中:

复制代码
sudo ctr -n k8s.io images import calico-cni.tar
sudo ctr -n k8s.io images import calico-kube-controllers.tar
sudo ctr -n k8s.io images import calico-node.tar
  1. 导入之后就可以apply calico.yaml 文件了

    kubectl apply -f calico.yaml

  2. 导入之后查看calico的pod,发现calico和coredns已经起来了

    $ kubectl get pods -n kube-system
    NAME READY STATUS RESTARTS AGE
    calico-kube-controllers-8d76c5f9b-brv86 1/1 Running 0 22h
    calico-node-hxks2 1/1 Running 0 22h
    coredns-66f779496c-9hqsx 1/1 Running 0 23h
    coredns-66f779496c-rcc74 1/1 Running 0 23h
    etcd-kevin-pc 1/1 Running 4 (28m ago) 23h
    kube-apiserver-kevin-pc 1/1 Running 4 (28m ago) 23h
    kube-controller-manager-kevin-pc 1/1 Running 4 (28m ago) 23h
    kube-proxy-gglh4 1/1 Running 1 (28m ago) 23h
    kube-scheduler-kevin-pc 1/1 Running 4 (28m ago) 23h

至此安装完成。

相关推荐
m0_738120723 小时前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
小义_4 小时前
【Ansible】(三)基础配置与连接设置
云原生·ansible
松岩4 小时前
网络问题导致 Pod Pending
kubernetes·aiops
极客先躯8 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme8 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
运维老郭8 小时前
Kubernetes 二进制部署完全指南:从零搭建生产级HA集群
运维·云原生·kubernetes
成为你的宁宁9 小时前
【K8S黑盒监控实践:Probe配置、Prometheus验证与Grafana可视化】
kubernetes·grafana·prometheus
成为你的宁宁9 小时前
【Prometheus Operator监控K8S Nginx】
nginx·kubernetes·prometheus
宇明一不急9 小时前
k8s headless svc
云原生·容器·kubernetes
容器魔方10 小时前
Karmada v1.18 版本发布!新增混合云溢出式调度能力
人工智能·云原生·容器·华为云·云计算