docker - Kubernetes 不会从私有(private) Docker Registry 中提取

标签 docker registry private kubernetes

我已经部署了一个私有(private)注册表,并且可以使用 docker pull x.x.x/name 从中提取。问题是我不能让 Kubernetes 从那个存储库中拉取。我想我已经关注了其他主题的所有答案,但它们似乎没有奏效。

.yaml 文件:

apiVersion: v1
kind: Pod
metadata:
  name: private-image-test-1
spec:
  containers:
    - name: uses-private-image
      image: x.x.x/nginx_1
      imagePullPolicy: Always
      command: [ "echo", "SUCCESS" ]
  imagePullSecrets:
   - name: registrypullsecret

kubectl 获取 pod:
NAME                   READY     STATUS                                                                 RESTARTS   AGE
private-image-test-1   0/1       Image: x.x.x/nginx_1 is ready, container is creating   0          4m

kubectl 描述 pod private-image-test-1
Name:           private-image-test-1
Namespace:      default
Node:           37.72.163.69/37.72.163.69
Start Time:     Fri, 06 May 2016 08:04:45 +0000
Labels:         <none>
Status:         Pending
IP:
Controllers:    <none>
Containers:
  uses-private-image:
    Container ID:
    Image:              x.x.x/nginx_1
    Image ID:
    Port:
    Command:
      echo
      SUCCESS
    QoS Tier:
      cpu:              BestEffort
      memory:           BestEffort
    State:              Waiting
      Reason:           Image: x.x.x/nginx_1 is ready, container is creating
    Ready:              False
    Restart Count:      0
    Environment Variables:
Conditions:
  Type          Status
  Ready         False 
Volumes:
  default-token-zrn4n:
    Type:       Secret (a volume populated by a Secret)
    SecretName: default-token-zrn4n
Events:
  FirstSeen     LastSeen        Count   From                    SubobjectPath                           Type            Reason        Message
  ---------     --------        -----   ----                    -------------                           --------        ------        -------
  4m            4m              1       {scheduler }                                                                    scheduled     Successfully assigned private-image-test-1 to 37.72.163.69
  4m            8s              30      {kubelet 37.72.163.69}  implicitly required container POD                       pulled        Successfully pulled image "gcr.io/google_containers/pause:0.8.0"
  4m            8s              30      {kubelet 37.72.163.69}  implicitly required container POD                       failed        Failed to create docker container with error: no such image
  4m            8s              30      {kubelet 37.72.163.69}                                                          failedSync    Error syncing pod, skipping: no such image

在这一点上欢迎任何帮助,谢谢!

最佳答案

在我遇到此问题的大多数情况下,几乎总是您的凭证密码不正确。正确的格式应该是

apiVersion: v1
kind: Secret
metadata:
  name: registrypullsecret
data:
  .dockerconfigjson: {BASE64 encoding of your config}
type: kubernetes.io/dockerconfigjson

根据内存,type字段在最近版本的 k8s 中发生了变化,所以一定要检查你列出的类型是否正确。

此外,您的 yaml 示例的缩进很糟糕,但这可能是 SO 编辑器问题。

关于docker - Kubernetes 不会从私有(private) Docker Registry 中提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37067453/

相关文章:

scala - 如何使用私有(private)构造函数扩展(或代理)scala类

transactions - 以太坊可以进行私有(private)交易吗?

c# - C#Dapper和MySQL随机错误,即 fatal error /从流读取失败等

powershell - 注册表 `registry::` 的 PSPath - 为什么是双冒号?

windows - 在 windows cmd yes/no 提示下自动有脚本输入 yes

testing - 如何在安装升级软件之前拍摄注册表项/文件夹的快照?

java - 我的类需要是不可变的,但我需要一个复制构造函数,并且由于我的字段未初始化,构造函数给我一个错误

macos - Docker - Mac OSX Ubuntu 在 apt-get update 上失败

docker - 在本地缓存 docker 镜像

docker - 无法将flask应用程序作为docker镜像运行