将简单的Docker容器部署到Azure Kubernetes时出错

时间:2020-05-13 03:39:14

标签: azure docker kubernetes .net-core

我是Azure kubernetes的新手。我正在尝试将一个简单的.net核心Web API部署到Azure Kubernetes。我刚刚在VS 2019中创建了默认的天气项目。我可以在本地运行Docker。我也可以将映像毫无问题地推送到Azure容器存储库。

执行此操作时出现错误:

kubectl apply -f .\deployment.yml  

当我在部署后运行kubectl get pods时,我会看到这一点。

| NAME |准备就绪状态| 重新启动|年龄|

|测试部署7564d94c8f-fdz9q | 0/1 | ImagePullBackOff |
0 | 74s |

所以我跑了kubectl describe pod test-deployment-7564d94c8f-fdz9q

而这些又是错误

警告失败(x4超过15s)kubelet, aks-agentpool-30270636-vmss000000

无法拉图像 “ ipaspoccontreg.azurecr.io/test:dev":[rpc错误:代码=未知desc =无法在此平台上使用映像操作系统“ windows”,rpc错误:代码=未知desc =来自守护程序的错误响应:获取 https://ipaspoccontreg.azurecr.io/v2/test/manifests/dev:未经授权: 需要验证]

我的deployment.yml是

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-deployment
spec:
  selector:
    matchLabels:
      app: test-pod
  template:
    metadata:
      labels:
        app: test-pod
    spec:
      containers:
      - name: test-container
        image: ipaspoccontreg.azurecr.io/test:dev
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 80

我的service.yml是

apiVersion: v1
kind: Service
metadata:
  name: test-service
spec:
  selector:
    app: test-pod
  ports:
  - port: 8080
    targetPort: 80
  type: LoadBalancer

1 个答案:

答案 0 :(得分:0)

您需要在Kubernetes中创建一个包含容器注册表凭据的秘密。