kubctl不从公共注册表中提取图像,但docker pull可以工作

在新的vmware PKS kubernetes集群中,秘密是为私有docker-registry创建的,并且按预期工作。但是kubectl并未从公共注册表“ https://registry-1.docker.io/v2/”中提取图像。

我已连接到公司网络,并且http_proxy,https_proxy已设置为可以访问互联网。 创建kubectl部署时,docker login,pull工作正常,但不会拉出图像。 “ dduportal / bats:0.4.0”的公共映像失败。 kubectl describe输出将复制到github中的path

我试图分别为私有的公共docker注册表添加机密。有人指出,如果要从多个私有注册表中提取图像,则要分开秘密。就我而言,它是公开的,但仍然分开。

kubectl create secret docker-registry regcred-public --docker-server=registry-1.docker.io --docker-username=<public-user> --docker-password=<token> --docker-email=<myemail>

kubectl create secret docker-registry regcred-private --docker-server=private-registry --docker-username=<private-user> --docker-password=password --docker-email=<myemail>
  1. 可能是什么问题?
  2. 如何使我的kubectl集群从公共存储库中提取图像 当docker从命令行提取正常工作时。
  3. 除了无法从中提取消息外,没有任何线索 公共注册表。如果有任何建议可能会更好 kubernetes集群。
  4. 集群端是否需要任何规则/配置?

    无法提取映像“ dduportal / bats:0.4.0”:rpc错误:代码=未知desc =来自守护程序的错误响应:Get https://registry-1.docker.io/v2/:net / http:等待连接时请求被取消(客户端。等待标题时超出了超时时间

xuyin19881101 回答:kubctl不从公共注册表中提取图像,但docker pull可以工作

问题可能在于代理HTTP的设置不正确。

首先,为Docker服务创建一个systemd插入目录:

mkdir /etc/systemd/system/docker.service.d

现在创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件,其中添加了HTTP_PROXY环境变量:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

如果您需要联系内部Docker注册表而不进行代理,则可以通过NO_PROXY环境变量进行指定:

Environment="HTTP_PROXY=http://proxy.example.com:80/"
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.somecorporation.com"

清除更改:

$ sudo systemctl daemon-reload

验证配置是否已加载:

$ sudo systemctl show --property Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/

重启Docker:

$ sudo systemctl restart docker

链接到官方Docker文档以获取代理HTTP: docker-http

本文链接:https://www.f2er.com/3163151.html

大家都在问