无法将Yaml部署到Azure中的Kubernetes群集

时间:2019-05-24 23:02:25

标签: azure kubernetes

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

  

kubectl apply -f myPath \ myimage.yaml

kubectl一直抱怨我缺少必填的“选择器”字段,而“ spec”字段未知。这似乎是基本的图像配置,所以我不知道还要尝试什么。

  

kubectl:错误:验证“ myimage.yaml”时出错:验证时出错   数据:[ValidationError(Deployment.spec):未知字段“ spec”位于   io.k8s.api.apps.v1.DeploymentSpec,ValidationError(Deployment.spec):   在中缺少必填字段“选择器”   io.k8s.api.apps.v1.DeploymentSpec];如果您选择忽略这些   错误,请使用--validate = false来关闭验证在第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

2 个答案:

答案 0 :(得分:1)

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

此外,请注意有两个规范字段。一种用于部署,另一种用作用作模板的Pod。您对广告连播的规格未对齐。应该更深一层。

答案 1 :(得分:0)

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

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