0

我无法使用 CLI 和 yaml 文件使用私有映像 (ACR) 部署 pod。

但是,使用 az container 或 kubectl run 从注册表直接部署确实有效。

吊舱状态:

  "containers": [
    {

            "count": 3,
            "firstTimestamp": "2017-08-26T07:31:36+00:00",
            "lastTimestamp": "2017-08-26T07:32:20+00:00",
            "message": "Failed: Failed to pull image \"ucont01.azurecr.io/unreal-deb\": rpc error: code 2 desc Error: im age unreal-deb:latest not found",
            "type": "Warning"
          },
        ],
      },

yaml 文件:

apiVersion: v1
kind: Pod
metadata:
  generateName: "game-"
  namespace: default
spec:
  nodeName: aci-connector
  dnsPolicy: ClusterFirst
  restartPolicy: Never
  containers:
    - name: unreal-dev-server
      image: ucont01.azurecr.io/unreal-deb
      imagePullPolicy: Always
      ports:
      - containerPort: 7777
        protocol: UDP
  imagePullSecrets:
    - name: registrykey
4

3 回答 3

3

不幸的是,aci-connector-k8s 目前不支持来自私有存储库的图像。有一个问题可以添加支持,但目前尚未实施。

https://github.com/Azure/aci-connector-k8s/issues/35

于 2017-08-28T20:12:39.727 回答
1

根据您的描述,您能否repositories通过 Azure 门户查看您的信息,如下所示:

在此处输入图像描述

使用你的 YAML,它对我有用:

apiVersion: v1
kind: Pod
metadata:
  generateName: "game-"
  namespace: default
spec:
  nodeName: k8s-agent-379980cb-0
  dnsPolicy: ClusterFirst
  restartPolicy: Never
  containers:
    - name: unreal-dev-server
      image: jasontest.azurecr.io/samples/nginx
      imagePullPolicy: Always
      ports:
      - containerPort: 7777
        protocol: TCP
  imagePullSecrets:
    - name: secret1

这是屏幕截图:

在此处输入图像描述

这是我的secret

jason@k8s-master-379980CB-0:~$ kubectl get secret
NAME                  TYPE                                  DATA      AGE
default-token-865dj   kubernetes.io/service-account-token   3         1h
secret1               kubernetes.io/dockercfg               1         47m
于 2017-08-28T07:18:54.717 回答
0

如果凭据(对应于注册表项)不正确,您可能会收到“找不到图像”错误,尽管图像存在。您可能需要再次验证 registrykey 凭据。

于 2017-08-26T14:46:27.280 回答