Kubernetes Pod无法从专用docker注册表中提取图像

Kubernetes Pod无法从专用docker注册表中提取图像,kubernetes,Kubernetes,我真的很难让我的POD从我已经设置并能够验证的私有docker注册表中提取图像(我可以进行docker登录,并且登录成功,无需输入用户名:密码)(我可以运行docker-pull-my.website.com:5000/human/forum查看所有下载的层。) 我使用where将名称空间指定为“default” 在生成regcred机密之前,我确保将“HTTPS://my.website.com:5000/V2/”(小写)放在docker配置文件的auth部分 请注意,我在下面指定了image

我真的很难让我的POD从我已经设置并能够验证的私有docker注册表中提取图像(我可以进行docker登录,并且登录成功,无需输入用户名:密码)(我可以运行
docker-pull-my.website.com:5000/human/forum
查看所有下载的层。)

我使用where将名称空间指定为
“default”

在生成
regcred
机密之前,我确保将
“HTTPS://my.website.com:5000/V2/”
(小写)放在docker配置文件的auth部分

请注意,我在下面指定了
imagePullSecrets

# deployment.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: angular-bazel-example-prod
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: angular-bazel-example-prod
    spec:
      containers:
       - name: angular-bazel-example
         image: human/forum:dev
         imagePullPolicy: Always
         ports:
         - containerPort: 8080
      imagePullSecrets:
       - name: regcred # Notice
我确保更新我的证书颁发机构证书:

cp /etc/docker/certs.d/my.website.com\:5000/ca.crt /usr/local/share/ca-certificates/my.website.registry.com/
sudo update-ca-certificates
我看到
sudo curl--user testuser:testpassword--cacert/usr/local/share/ca certificates/my.website.registry.com/ca.crt-X GEThttps://mywebsite.com:5000/v2/_catalog

>
{“存储库”:[“人/论坛”]}

我看到
sudo curl--user testuser:testpassword--cacert/usr/local/share/ca certificates/mywebsite.registry.com/ca.crt-X GEThttps://mywebsite.com:5000/v2/human/forum/tags/list

>
{“name”:“a/repository”,“tags”:[“dev”]}

一定有办法解决这个问题,但我不知道怎么解决

我很好奇的一件事是

kubectl describe pod my-first-pod...
...
Volumes:
  default-token-mtz9g:
    Type:        Secret
在哪里可以找到此卷?我无法
kubectl exec
放入容器中,因为没有任何一个正在运行..因为pod无法提取图像

你对我如何解决这个问题有什么想法吗

谢谢大家!


Slackware创建kubernetes机密以访问自定义存储库。一种方法是手动提供服务器、用户和密码

然后在yaml中使用它

...
      imagePullSecrets:
       - name: $YOUR_REGISTRY_NAME
关于您看到挂载的默认令牌,它属于pod用于与kubernetes api对话的服务帐户。您可以通过运行
kubectl get sa
kubectl Descripte sa$default\u service\u account\u ID
找到服务帐户。通过运行
kubectl get secrets
kubec>找到令牌tl descripe secret$secret\u ID
。要澄清此服务帐户和令牌与docker注册表无关,除非您指定它。要将注册表包含在服务帐户中,请遵循本指南

...
      imagePullSecrets:
       - name: $YOUR_REGISTRY_NAME