获取错误 PodSpec.containers:得到 "map",预期 "array" 或 Container.volumeMounts:得到 "map",预期 "array";
Getting error PodSpec.containers: got "map", expected "array" or Container.volumeMounts: got "map", expected "array";
我正在尝试开始部署,但出现此错误
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
我再次尝试列出这些商品:
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
我做错了什么?
VolumeMounts 也应该有 -
。它表示数组的开始。如下所示更改它。
volumeMounts:
- name: volume
mountPath: /var/nginx-data
查看 this example yaml 以创建具有两个容器并共享相同卷的 pod。在这个例子中,很清楚在哪里使用 -
符号,在哪里不使用
我正在尝试开始部署,但出现此错误
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
我再次尝试列出这些商品:
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
我做错了什么?
VolumeMounts 也应该有 -
。它表示数组的开始。如下所示更改它。
volumeMounts:
- name: volume
mountPath: /var/nginx-data
查看 this example yaml 以创建具有两个容器并共享相同卷的 pod。在这个例子中,很清楚在哪里使用 -
符号,在哪里不使用