栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker login/pull报错x509: ... Common Name matching with GODEBUG=x509ignoreCN=0

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker login/pull报错x509: ... Common Name matching with GODEBUG=x509ignoreCN=0

背景: k8s集群扩容节点,扩容完成后发现节点daemonset启动失败,报错ImagePullBackOff,镜像拉取失败

排查:

  1. 登录扩容主机尝试手动docker login私有仓库地址
docker login --username=xxxx hub.xxx.com.cn # 登录仓库
> Error response from daemon: Get "https://hub.xxx.com.cn/v2/": x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
> # 登录仓库报错如上
  1. github搜索后发现如下问题回复:

    从上述回复可以基本看出,该报错为GO版本1.5前后TLS认证兼容性问题,于是检查docker版本情况

  2. 查看问题节点docker版本

docker version
> Client:
>   Version: 18.06.3-ce
>   API version: 1.38
>   Go Version: go1.10.4
>   ......
> Server: Docker Engine - Community
>   Engine:
>     Version: 20.10.10
>     API version: 1.41 (minimum version 1.12)
>     Go version: go1.16.9
>   ......

从上面返回内容看出,docker client版本为18.06,go版本为1.10,而服务端docker server版本为20.10.10,Go版本为1.16,查看正常节点发现c/s均为18.06版本docker和1.10版本go,印证go版本兼容性导致该问题发生

  1. 查看已安装的docker,停止服务并卸载
rpm -qa |grep docker
> docker-ce-cli-20.10.10-3.el7.x86_64
> docker-ce-20.10.10-3.el7.x86_64
> nvidia-docker2-2.2.2-1.noarch
> docker-scan-plugin-0.9.0-3.el7.x86_64
> docker-ce-rootless-extras-20.10.10-3.el7.x86_64
systemctl stop kubelet docker
yum -y remove docker-ce-cli-20.10.10-3.el7.x86_64	#验证发现卸载cli后所有docker20都会卸载掉,也可以逐个remove
> ......
> rpm -qa |grep docker #卸载后验证无docker20残留
  1. 重新安装18版本docker,由于yum -y install docker默认会安装yum源中最新版,因此需要指定版本安装
# 查看yum源中所有的docker版本
yum list docker-ce --showduplicates |sort -r #列出所有docker-ce的版本信息
> ...... #省略其他版本信息
> docker-ce.x86_64    18.06.3.ce-3.el7    docker-repo
> ......
yum -y install docker-ce-18.06.3.ce-3.el7.x86_64 # 拼接规则为应用名-版本.架构版本
> ...... #省略安装信息

# 安装完成后查看版本
docker version
> Client:
>   Version: 18.06.3-ce
>   API version: 1.38
>   Go Version: go1.10.4
>   ......
> Server: Docker Engine - Community
>   Engine:
>     Version: 18.06.3-ce
>     API version: 1.38 (minimum version 1.12)
>     Go version: go1.10.3
>   ......
  1. 查看节点daemonset,发现已正常启动,说明镜像拉取成功,问题解决
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号