Skip to Content
镜像仓库镜像及镜像仓库常见问题

镜像及镜像仓库常见问题

如何在 UK8S 中 Build 镜像?

UK8S节点Docker配置文件经过修改,且1.19及以上集群默认安装containerd,因此不推荐在UK8S中直接Build镜像。可以通过部署CI/CD,或者在集群外 UHost 中安装docker进行Build镜像。

怎么在UK8S集群中拉取Uhub以外的镜像?

UK8S使用VPC网络实现内网互通,拉取Uhub镜像不受影响,拉取外网镜像时需要对VPC的子网配置网关,需要在UK8S所在的区域下进入VPC产品,对具体子网配置NAT网关,使集群节点可以通过NAT网关拉取外网镜像,具体操作详见VPC创建NAT网关

为什么我的 UHub 登陆失败了?

  1. 请确认是在公网还是 安联云 内网进行登陆的(如果 ping uhub 的 ip 为 106.75.56.109 则表示是通过公网拉取)
  2. 如果在公网登陆,请在 UHub 的 Console 页面确认外网访问选项打开
  3. 确认是否使用独立密码登陆,UHub 独立密码是和用户绑定的,而不是和镜像库绑定的

UHub 下载失败(慢)

  1. ping uhub.an-link.com (如果ip为106.75.56.109 则表示是通过公网拉取,有限速)
  2. curl https://uhub.an-link.com/v2/ 查看是否通,正常会返回 UNAUTHORIZED 或 301
  3. systemctl show --property=Environment docker 查看是否配置了代理
  4. 在拉镜像节点执行iftop -i any -f 'host <uhub-ip>'命令,同时尝试拉取 UHub 镜像,查看命令输出(uhub-ip替换为步骤1中得到的ip)
  5. 对于公网拉镜像的用户,还需要在 Console 页面查看外网访问是否开启

拉取自建镜像库证书错误

升级为新版Docker之后,可能会遇到自建镜像库签名证书的问题。具体报错信息为x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0

该报错为go在1.11版本引入的一个新特性,表明https证书不符合SANs标准,该特性在1.15版本默认启用,而GODEBUG=x509ignoreCN=0 标志也在1.17版本被正式移除。

如果遇到相同的报错,可以按照如下方案进行处理

  1. 更换符合标准的签名证书,此方案为推荐方案,并且go版本升级为1.17之后,该方案为唯一可行方案。
  2. 针对Docker节点,按照如下步骤临时允许忽略检查,注意此方案仅可作为临时方案使用。
    2.1 修改 /usr/lib/systemd/system/docker.service 在 [Service] 结构下面增加 Environment=GODEBUG=x509ignoreCN=0
    2.2 执行 systemctl daemon-reload
    2.3 执行 systemctl restart docker
  3. 针对Containerd节点,按照如下步骤临时允许忽略检查,注意此方案仅可作为临时方案使用。
    3.1 修改 /usr/lib/systemd/system/containerd.service 在 [Service] 结构下面增加 Environment=GODEBUG=x509ignoreCN=0
    3.2 执行 systemctl daemon-reload
    3.3 执行 systemctl restart containerd