1、创建一个环境变量配置文件:

vi ~/.bash_profile

2、在文件中添加代理配置:

# 代理配置
export http_proxy=http://代理服务器IP:端口
export https_proxy=http://代理服务器IP:端口

# 忽略代理的内部地址(可选,根据实际情况添加)
export no_proxy=127.0.0.1,localhost,.your-domain.com,10.0.0.0/8,192.168.0.0/16,lb.kubesphere.local

3、使配置生效:

source ~/.bash_profile

4、yum配置

vi /etc/yum.conf

添加内容

proxy=http://ip:端口

5、docker配置代理

1. 检查网络连通性与 DNS 解析

先确认服务器能否正常访问阿里云容器仓库:

 
# 测试 DNS 解析是否正常
nslookup registry.cn-beijing.aliyuncs.com

# 测试 TCP 443 端口连通性(HTTPS 依赖)
telnet registry.cn-beijing.aliyuncs.com 443
# 或使用 curl 测试
curl -v https://registry.cn-beijing.aliyuncs.com/v2/
 
  • 若 DNS 解析失败:在 /etc/resolv.conf 中添加公共 DNS(如 nameserver 114.114.114.114 或 nameserver 8.8.8.8)。
  • 若 443 端口不通:检查防火墙(本地或机房)是否开放 443 端口出站权限。
2. 为 Docker 配置代理(适用于需要代理访问公网的环境)

如果服务器需通过代理访问公网,需为 Docker 单独配置代理(避免仅配置终端代理无效):

 
# 创建 Docker 服务配置目录
sudo mkdir -p /etc/systemd/system/docker.service.d

# 创建代理配置文件
sudo vi /etc/systemd/system/docker.service.d/proxy.conf
 

在文件中添加代理配置(替换为你的代理地址):

 
[Service]
Environment="HTTP_PROXY=http://代理服务器IP:端口"
Environment="HTTPS_PROXY=http://代理服务器IP:端口"
Environment="NO_PROXY=localhost,127.0.0.1,.aliyuncs.com"  # 排除阿里云内部地址
 

重启 Docker 使配置生效:

 
sudo systemctl daemon-reload
sudo systemctl restart docker
3. 更换镜像仓库为国内其他节点

若北京节点不稳定,可尝试阿里云其他区域的容器仓库(如上海、深圳),或使用 Docker 官方镜像加速:

 
  • 修改 KubeKey 镜像仓库配置(如果使用 KK 安装):
    在创建集群的配置文件(如 config-sample.yaml)中指定镜像仓库:

    registry:
      type: docker
      insecureRegistries: []
      registryMirrors:
        - https://registry.cn-shanghai.aliyuncs.com  # 上海节点
        - https://docker.mirrors.ustc.edu.cn        # 中科大镜像
    
  • 临时指定镜像仓库拉取
    手动测试拉取镜像,确认仓库可用性:

    docker pull registry.cn-shanghai.aliyuncs.com/kubesphereio/pause:3.5 --platform amd64
    
4. 临时关闭 TLS 验证(不推荐,仅测试用)

若确认是 TLS 证书问题(如内网证书拦截),可临时将仓库添加为 Docker 不安全 registry(仅在可信环境中使用):

 
# 编辑 Docker 配置
sudo vi /etc/docker/daemon.json
 

添加以下内容:

 
{
  "insecure-registries": ["registry.cn-beijing.aliyuncs.com"]
}
 

重启 Docker:

 
sudo systemctl daemon-reload
sudo systemctl restart docker

三、验证解决方案

修改配置后,重新执行拉取命令测试:

 
docker pull registry.cn-beijing.aliyuncs.com/kubesphereio/pause:3.5 --platform amd64

6、containered配置代码

步骤 1:修改 Containerd 服务的环境变量

创建 / 编辑 containerd 服务的环境变量配置文件:

sudo mkdir -p /etc/systemd/system/containerd.service.d
sudo vim /etc/systemd/system/containerd.service.d/proxy.conf

添加以下内容(替换为实际代理地址):

[Service]
# 守护进程访问外部网络的代理(如下载镜像)
Environment="HTTP_PROXY=http://代理服务器IP:端口"
Environment="HTTPS_PROXY=http://代理服务器IP:端口"
# 不使用代理的地址(本地地址、内部仓库、容器网段等)
Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,.example.com"
  • 参数说明
    • HTTP_PROXY/HTTPS_PROXY:代理服务器地址(若需认证,格式为 http://用户名:密码@代理IP:端口)。
    • NO_PROXY:无需代理的地址,需包含本地地址(localhost)、容器网段(如 10.244.0.0/16,根据 CNI 配置的 subnet 调整)、内部仓库域名等,避免内部通信被代理拦截。
步骤 2:重启 Containerd 服务使配置生效
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 重启 containerd 服务
sudo systemctl restart containerd
# 验证服务状态
sudo systemctl status containerd
Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐