CentOS 7 下如何配置阿里云 K8s 镜像库:保姆级教程
在搭建 Kubernetes (K8s) 集群的过程中,许多开发者都会遇到一个棘手的问题:在国内环境下,直接从 Docker Hub 拉取官方 K8s 镜像速度极慢,甚至导致安装失败,为了解决这一痛点,使用阿里云提供的镜像加速服务是最佳方案。
本文将详细介绍如何在 CentOS 7 系统中配置阿里云容器镜像服务,从而加速 K8s 镜像的拉取。

准备工作:获取阿里云加速器地址
你需要拥有一个阿里云账号,并开通容器镜像服务(ACR)。
- 登录 阿里云控制台。
- 在左侧导航栏选择 镜像工具 -> 镜像加速器。
- 在“CentOS”或“Ubuntu”板块中,你会看到一个专属的加速地址,格式通常类似于:
xxxxxx.mirror.aliyuncs.com。
注意:请务必复制你账号下生成的专属地址,不要使用公开的通用地址。
配置 Docker 镜像加速器
阿里云的 K8s 镜像加速本质上是配置 Docker 的镜像仓库代理,以下是具体操作步骤:
编辑 Docker 配置文件
在 CentOS 7 上,Docker 的配置文件位于 /etc/docker/daemon.json,如果该文件不存在,请先创建它。
sudo vi /etc/docker/daemon.json
添加配置内容
在文件中写入以下 JSON 格式的配置(将 YOUR_ID.mirror.aliyuncs.com 替换为你刚才获取的专属地址):
{
"registry-mirrors": ["https://YOUR_ID.mirror.aliyuncs.com"]
}
重启 Docker 服务 保存并退出编辑器后,需要让配置生效:
sudo systemctl daemon-reload sudo systemctl restart docker
验证配置 执行以下命令,查看输出中是否包含你刚才配置的加速器地址:
docker info | grep -A 10 "Registry Mirrors"
如果看到了你的加速器地址,说明 Docker 配置成功。
在 K8s 安装中使用阿里云镜像
即使配置了 Docker 加速器,在执行 kubeadm init 或 kubeadm join 时,K8s 默认仍会去 Docker Hub 拉取镜像,为了彻底解决问题,我们需要在安装命令中指定阿里云的 K8s 镜像仓库。
阿里云提供了一个公共的 K8s 镜像仓库:registry.aliyuncs.com/google_containers,我们将使用这个仓库来替代默认的 k8s.gcr.io。
列出所需镜像(可选) 如果不清楚需要拉取哪些镜像,可以运行:
kubeadm config images list --kubernetes-version v1.23.0
(注:请将 v1.23.0 替换为你实际需要的版本)
拉取镜像(手动拉取) 你可以通过以下脚本批量拉取阿里云镜像:
K8S_VERSION=v1.23.0 
