JFrog docker注册表没有在Kubernetes中提取图像

问题描述 投票:0回答:1

我使用JFrog作为docker注册表。如果我尝试手动拉动图像,则会拉动图像。但是当我通过包含在helm chart和helm install命令中尝试相同时它会抛出我的错误:“错误:ImagePullBackOff”“pull image registry_name / jfrogk8s:1.0”“无法拉图像registry_name / jfrogk8s:1.0:rpc错误: code = Unknown desc =来自守护进程的错误响应:获取https://dip-docker-dip.bintray.io/v2/jfrogk8s/manifests/1.0:未授权:未经授权“

我在“/etc/docker/daemon.json”中包含了docker注册表

docker kubernetes kubernetes-helm jfrog-cli
1个回答
2
投票

它清楚地说 - unauthorized: Unauthorized

即使您确实将docker registry in "/etc/docker/daemon.json"放在kubernetes环境中,也不会在拉取内部图像时调用docker注册表。因此,你需要创建一个Docker Registry Secret,然后在helm安装中使用它来告诉kubernetes使用这个秘密来拉取内部图像:

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

哪里:

  • <your-registry-server>是您的私有Docker Registry FQDN。 (用于DockerHub的https://index.docker.io/v1/
  • <your-name>:是你的Docker用户名。
  • <your-pword>:是你的Docker密码。
  • <your-email>:是您的Docker电子邮件。

验证是否创建了docker注册表密码regcred

kubectl get secret regcred --output=yaml

然后在你的掌舵图表中value.yaml添加以下行

imagePullSecret: regcred

如果你需要这样做,Kubernetes的方式你的deploy.yaml将如下所示:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: regcred
© www.soinside.com 2019 - 2024. All rights reserved.