【发布时间】:2019-02-05 09:52:02
【问题描述】:
我正在使用 k8s 1.11.2 构建我的服务,YAML 文件如下所示:
部署
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: nginx-test
namespace: default
labels:
- type: test
spec:
replicas: 1
selector:
matchLabels:
- type: test
template:
metadata:
labels:
- type: test
spec:
containers:
- image: nginx:1.14
name: filebeat
ports:
- containerPort: 80
服务
apiVersion: v1
kind: Service
metadata:
labels:
- type:test
spec:
type: ExternalName
externalName: my.nginx.com
externalIPs:
- 192.168.125.123
clusterIP: 10.240.20.1
ports:
- port: 80
name: tcp
selector:
- type: test
我得到这个错误:
错误验证数据:[ValidationError(Service.metadata.labels): 无效的类型 io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.labels:得到“数组”, 预期的“地图”,ValidationError(Service.spec.selector):无效类型 对于 io.k8s.api.core.v1.ServiceSpec.selector:得到“数组”,预期 “地图”];
我确定我的 YAML 文件的格式是正确的,因为我使用了网站 http://www.yamllint.com/ 来验证它。
为什么会出现这个错误?
【问题讨论】:
-
我的问题是:为什么不显示错误所在的哪一行?在一个大的 yaml 文件中,这个错误完全没有用,因为我不知道它在哪里。要求 kubectl 告诉我们它在哪里发现错误是不是太过分了?
标签: kubernetes yaml