解决docker.io无法访问,导致calico等插件无法安装问题
出于某些原因,docker.io在国内无法访问,且目前的一些国内镜像仓库也一个个的沦陷,基于此背景下,可通过本地先将镜像包下载下来,再上传至服务器后离线安装镜像
前提条件
需要本地能访问docker之类的网站
步骤(以calico网络插件为例)
确定你所需的 Calico 版本,可以通过查看官方文档或自己的 Kubernetes 版本匹配适当的 Calico 版本。假设使用 Calico v3.27.3:
bash
CALICO_VERSION=v3.27.3
拉取 Calico 镜像
bash
docker pull calico/cni:$CALICO_VERSION
docker pull calico/pod2daemon-flexvol:$CALICO_VERSION
docker pull calico/node:$CALICO_VERSION
docker pull calico/kube-controllers:$CALICO_VERSION
保存镜像到文件
bash
docker save -o calico-cni.tar calico/cni:$CALICO_VERSION
docker save -o calico-pod2daemon-flexvol.tar calico/pod2daemon-flexvol:$CALICO_VERSION
docker save -o calico-node.tar calico/node:$CALICO_VERSION
docker save -o calico-kube-controllers.tar calico/kube-controllers:$CALICO_VERSION
传输镜像到目标节点 将保存的 .tar 文件传输到离线节点。例如,使用 scp:
bash
scp calico-cni.tar calico-pod2daemon-flexvol.tar calico-node.tar calico-kube-controllers.tar user@target-node:/path/to/destination
在目标节点加载镜像
在目标节点上执行以下命令加载镜像:
bash
docker load -i calico-cni.tar
docker load -i calico-pod2daemon-flexvol.tar
docker load -i calico-node.tar
docker load -i calico-kube-controllers.tar
docker images
docker 离线安装
使用yumdownloader工具下载Docker和所有依赖包:
yumdownloader --resolve --destdir=. docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
使用scp命令将RPM包上传到目标服务器
scp ~/docker-rpms/*.rpm user@your_server:/path/to/target/directory
在目标服务器上安装RPM包
cd /path/to/target/directory
yum localinstall -y *.rpm
systemctl start docker
docker version
docker info
安装docker-compose
# 本机上传docker-compose 文件
mv docker-compose /usr/local/bin
3、解决 docker-compose 命令权限不够问题: chmod +x /usr/local/bin/docker-compose
4、将docker的权限授权给普通用户:usermod -a -G docker adsys
一些docker离线安装包
containerd.io-1.6.33-3.1.el7.x86_64.rpm 下载
docker-buildx-plugin-0.14.1-1.el7.x86_64.rpm 下载
docker-ce-26.1.4-1.el7.x86_64.rpm 下载
docker-ce-cli-26.1.4-1.el7.x86_64.rpm 下载
docker-ce-rootless-extras-26.1.4-1.el7.x86_64.rpm 下载
docker-compose-plugin-2.27.1-1.el7.x86_64.rpm 下载
calico-cni.tar 下载
calico-kube-controllers.tar 下载
calico-node.tar 下载
calico-pod2daemon-flexvol.tar 下载
filebeat-8.13.3.tar 下载