单点 docker run rancher内含的k3s集群现在部署应用无法拉取私有镜像仓库报https clients问题

Rancher Server 设置

  • Rancher 版本:
  • 安装选项 (Docker install/Helm Chart):
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:
  • 在线或离线部署:

下游集群信息

  • Kubernetes 版本:
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等):

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):
    • 如果自定义,自定义权限集:

主机操作系统:

**问题描述:通过docker run rancher的形式部署rancher 但是载部署docker应用的时候选择自己的私有仓库报http server response https client 这个问题需要如何进行解决

重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志


docker run 方式启动,需要为内置的配置 K3s 集群配置私有镜像仓库 mirror
例如

cat << EOF > /rancher/registries.yaml
mirrors:
  docker.io:
    endpoint:
      - "http://myregistry.example.com:5000"
EOF

然后将该文件 mount 到容器中

docker run -d \
 -v /rancher/registries.yaml:/etc/rancher/k3s/registries.yaml \
...

但是我的私有仓库,并没有包含启动k3s集群的镜像,所以我想知道的是进入容器进行配置下,怎么对k3s进行重启,有哪些命令

如果按照以上做法仍然提示无法下载,提示无法解析私有库地址,那么有一个现象需要注意,那就是你的DNS解析私有镜像库地址时需要返回两种类型的地址,一个是ipv4的,一个是ipv6的。如果只返回ipv4的,如下图:

就会导致拉取镜像失败。
解决办法就是配置dns给私有镜像库一个ipv6的地址。即使不使用ipv6。
使用nslookup查看如下图形式即可:
image

以上是我遇见这种情况,按照添加私有镜像库的方法后仍然不能拉取镜像后的处理方法。已正常。