无法使用私有映像通过 CLI 创建 Azure 容器实例

Not able to create Azure Container Instance with CLI using private image

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

不过,直接使用 az 容器或 kubectl 从注册表部署 运行 确实有效。

广告连播状态:

  "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

如果凭据(对应于 registrykey)不正确,尽管图像存在,您可能会收到 'image not found' 错误。您可能想再次验证注册表项凭据..

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

使用你的 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

很遗憾,aci-connector-k8s 目前不支持来自私有存储库的图像。添加支持存在问题,但目前尚未实现。

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