Cia*_*arz 2 kubernetes kubernetes-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
Run Code Online (Sandbox Code Playgroud)
以下 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
Run Code Online (Sandbox Code Playgroud)
我尝试再次列出 cottainers:
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
Run Code Online (Sandbox Code Playgroud)
这会导致不同的错误
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
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
VolumeMounts 也应该有-. 它表示数组的开始。如下所示进行更改。
volumeMounts:
- name: volume
mountPath: /var/nginx-data
Run Code Online (Sandbox Code Playgroud)
查看此示例 yaml,以创建具有两个容器并共享相同卷的 pod。在这个例子中,哪里使用-符号,哪里不使用符号,一目了然。
| 归档时间: |
|
| 查看次数: |
6449 次 |
| 最近记录: |