【问题标题】:Getting error PodSpec.containers: got "map", expected "array" or Container.volumeMounts: got "map", expected "array";出现错误 PodSpec.containers: got "map", expected "array" or Container.volumeMounts: got "map", expected "array";
【发布时间】:2021-01-22 23:47:50
【问题描述】:

我正在尝试开始部署,但出现此错误

error: error validating "httpd-basic-deployment.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers): invalid type for io.k8s.api.core.v1.PodSpec.containers: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

以下 pod 定义文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ebay-app
spec:
  selector:
    matchLabels:
        environment: dev
        app: ebay
  replicas: 1
  template:
    metadata:
      labels:
        environment: dev
        app: ebay
    spec:

      volumes:
        - name: volume
          hostPath:
            path: /mnt/data

      containers:
        name: container1-nginx
        image: nginx
        volumeMounts:
           name: volume
           mountPath: /var/nginx-data

        name: container2-tomcat
        image: tomcat
      nodeSelector:
        boardType: x86vm

我尝试再次列出 cotnainers:

 volumes:
    - name: volume
      hostPath:
        path: /mnt/data

  containers:
    - name: container1-nginx
      image: nginx
      volumeMounts:
         name: volume
         mountPath: /var/nginx-data
    
    - name: container2-tomcat
      image: tomcat

  nodeSelector:
    boardType: x86vm

导致不同的错误

error: error validating "httpd-basic-deployment.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers[0].volumeMounts): invalid type for io.k8s.api.core.v1.Container.volumeMounts: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

我做错了什么?

【问题讨论】:

    标签: kubernetes kubernetes-pod


    【解决方案1】:

    VolumeMounts 也应该有-。它表示数组的开始。如下图进行更改。

    volumeMounts:
    - name: volume
      mountPath: /var/nginx-data
    

    查看this example yaml 以创建具有两个容器并共享相同卷的 pod。在这个例子中,很清楚在哪里使用- 符号,在哪里不使用。

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 2017-07-03
      • 2021-11-01
      • 2020-12-05
      • 2018-08-25
      • 1970-01-01
      • 2021-07-28
      • 2018-12-23
      • 2020-10-10
      相关资源
      最近更新 更多