【问题标题】:Not able to create Azure Container Instance with CLI using private image无法使用私有映像通过 CLI 创建 Azure 容器实例
【发布时间】:2023-04-04 00:00:02
【问题描述】:

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

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

Pod 状态:

  "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

【问题讨论】:

    标签: azure kubernetes azure-container-registry azure-container-instances


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      根据您的描述,能否请您通过 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
      

      【讨论】:

      • 这对你有用吗?如果您需要更多帮助,请告诉我:)
      【解决方案3】:

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

      【讨论】:

      • 我在同一个注册表中添加了另一个秘密点,但它仍然不起作用。我可以使用 kubectl run --image= 从同一个注册表运行图像。我相当肯定凭据是好的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-06
      • 1970-01-01
      相关资源
      最近更新 更多