kubernetes Helm无法从私有存储库(nexus3)中提取映像:HTTP:服务器向HTTPS客户端提供HTTP响应

du7egjpx  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(181)

我试图从私人注册表拉图像,我得到这个错误:
我创建了一个名为myrelease的命名空间,我的helm命令来自我的chart文件夹:

helm install myrelease -n myrelease .

字符串
HTTP:服务器向HTTPS客户端提供HTTP响应
我已经做了所有需要docker接受不安全注册表的更改。
首先,我编辑所有节点上的每个/etc/docker/daemon. json:

{
    "features": {
       "buildkit": false
    },
    "insecure-registries" : [ "http://xx.xx.xx.xx:8082" ]
}


然后我尝试登录到我的repo通过:

docker login myrepo

我成功了

当我尝试安装我的helm chart,我做了以下配置:
created templates/secret.yaml:

apiVersion: v1
kind: Secret
metadata:
  name: {{ .Values.imageCredentials.name }}
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: {{ template "imagePullSecret" . }}


我编辑了模板/_helper.tpl文件:

//added to the end of the file:
{{- define "imagePullSecret" }}
{{- with .Values.imageCredentials }}
{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" .registry .username .password .email (printf "%s:%s" .username .password | b64enc) | b64enc }}
{{- end }}
{{- end }}


在我的价值观中。yaml我做:

image:
  repository: xx.xx.xx.xx:8082/helloworldwar
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: "11"
imageCredentials:
  name: nexuscreds
  registry: xx.xx.xx.xx:8082/helloworld
  username: xxxx
  password: xxxx
  email: xxxx@gmail.com
imagePullSecrets:
  - name: nexuscreds


在docker info命令中,我列出了我不安全的repo:

Insecure Registries:
  xx.xx.xx.xx:8082
  127.0.0.0/8


我仍然得到错误:
HTTP:服务器向HTTPS客户端提供HTTP响应

yacmzcpb

yacmzcpb1#

http:server给HTTPS客户端提供了HTTP响应此错误是由于没有在docker守护进程中分配适当的不安全注册表。

Insecure Registries:
  xx.xx.xx.xx:8082
  127.0.0.0/8

字符串
似乎你还没有按照上面不安全的注册表设置Docker守护程序。127.0.0.0/8这不应该在不安全的注册表中,而且您正在使用Linux服务器,并添加了Windows语法。
所以,尝试将下面突出显示的linux语法和行添加到Docker的daemon.json文件中,并重新启动Docker Daemon:
语法格式:{"insecure-registries":["host:port"]}

add this line : {"insecure-registries":["http://xx.xx.xx.xx:8082"]}


host是托管我的docker注册表的服务器的主机名,port是docker注册表可用的端口,然后通过以下操作重新启动docker守护进程:

$ sudo service docker restart


请参阅配置Docker守护进程和配置Docker with a configuration file以获取更多信息。
编辑:

{
    "features": {
       "buildkit": false
    },
    {"insecure-registries" : [ "http://xx.xx.xx.xx:8082" ]}
}

相关问题