【问题标题】:Unable to deploy yaml to Kubernetes cluster in Azure无法将 yaml 部署到 Azure 中的 Kubernetes 集群
【发布时间】:2019-05-24 23:02:25
【问题描述】:

我尝试将一个映像部署到 AKS 群集。该图像存储在 Azure 容器注册表中,我只是尝试应用 YAML 文件以使用以下命令将其加载到 AKS:

kubectl apply -f myPath\myimage.yaml

kubectl 一直抱怨我缺少必需的“选择器”字段,并且“规范”字段是未知的。这似乎是一个基本的图像配置,所以我不知道还能尝试什么。

kubectl:错误:错误验证“myimage.yaml”:错误验证 数据:[ValidationError(Deployment.spec):未知字段“spec” io.k8s.api.apps.v1.DeploymentSpec,ValidationError(Deployment.spec): 缺少必填字段“选择器” io.k8s.api.apps.v1.DeploymentSpec];如果你选择忽略这些 错误,关闭验证 --validate=false At line:1 char:1

apiVersion: apps/v1
kind: Deployment
metadata:
    name: myimage
spec:
    replicas: 1
    template:
        metadata:
            labels:
                app: myimage
    spec:
        containers:
        - name: myimage
          image: mycontainers.azurecr.io/myimage:v1
          ports:
          - containerPort: 5000

【问题讨论】:

    标签: azure kubernetes


    【解决方案1】:

    您的第二个spec 字段的缩进不正确,并且您在第一个spec 中错过了selector

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
      labels:
        app: myimage
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: myimage
      template:
        metadata:
          labels:
            app: myimage
        spec:
          containers:
          - name: myimage
            image: mycontainers.azurecr.io/myimage:v1
            ports:
            - containerPort: 5000
    

    【讨论】:

      【解决方案2】:

      如错误消息中所述,deployments 在其规范中需要一个选择器字段。您可以查看链接中的一些示例。

      另外,请注意有两个规范字段。一个用于部署,一个用于用作模板的 pod。您的吊舱规格未对齐。它应该更深一层。

      【讨论】:

        猜你喜欢
        • 2021-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-23
        • 1970-01-01
        • 1970-01-01
        • 2021-08-26
        相关资源
        最近更新 更多