[大家好,我正在研究kubernetes清单文件。当我尝试部署它时,显示一个称为验证数据的错误:(Deployment.sepc.selector)
错误:
error validating data: ValidationError(Deployment.spec.selector): unknown field "app" in io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector; if you choose to ignore these errors, turn validation off with --validate=false
清单文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: elastickibana
spec:
replicas: 1
selector:
app: elastickibana
template:
metadata:
spec:
containers:
- name: elk
image: daniccan/kibana-plugin-tester:latest
imagePullPolicy: Always
ports:
- containerPort: 5601
- containerPort: 9200
env:
- name: KIBANA_VERSION
value: 6.8.2
- name: PLUGIN_FILE_NAME
value: kibana-c8-plugin-Alpha-0.0.1-Kibana-6.8.2.zip
- name: KIBANA_PLUGIN_PATH
value: /home/sreenivasa/Projects/c8/infrastructure/capsule8-sandbox
---
kind: Service
apiVersion: v1
metadata:
name: elk-service
labels:
app: elk-kibana
spec:
type: LoadBalancer
externalIPs:
- 10.0.2.15
selector:
name: elk-kibana
ports:
- port: 5601
name: elasticservice
ports:
- port: 9200
name: serving-http
有人可以帮我解决错误。
您在部署中,在模板下,在部署中也缺少标签选择器,并且服务标签选择器应与这些标签匹配。
apiVersion: apps/v1
kind: Deployment
metadata:
name: elastickibana
spec:
replicas: 1
selector:
matchlabels: <--missing this
app: elastickibana
template:
metadata:
labels: <--and this
app: elastickibana
spec:
containers:
- name: elk
image: daniccan/kibana-plugin-tester:latest
imagePullPolicy: Always
ports:
- containerPort: 5601
- containerPort: 9200
env:
- name: KIBANA_VERSION
value: 6.8.2
- name: PLUGIN_FILE_NAME
value: kibana-c8-plugin-Alpha-0.0.1-Kibana-6.8.2.zip
- name: KIBANA_PLUGIN_PATH
value: /home/sreenivasa/Projects/c8/infrastructure/capsule8-sandbox
kind: Service
apiVersion: v1
metadata:
name: elk-service
labels:
app: elk-kibana
spec:
type: LoadBalancer
externalIPs:
- 10.0.2.15
selector:
app: elastickibana <--and this should be like this
ports:
- port: 5601
name: elasticservice
ports:
- port: 9200
name: serving-http
现在,在发布任何问题之前,请尝试进行调查。您可以通过仅匹配文档中的Deployment和Service示例来了解这些基础知识。