首页 > 解决方案 > 无法将 yaml 部署到 Azure 中的 Kubernetes 集群

问题描述

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

kubectl apply -f myPath\myimage.yaml

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

kubectl:错误:验证“myimage.yaml”时出错:验证数据时出错:[ValidationError(Deployment.spec):io.k8s.api.apps.v1.DeploymentSpec 中的未知字段“spec”,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

标签: azurekubernetes

解决方案


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

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


推荐阅读