【发布时间】:2022-01-24 13:38:21
【问题描述】:
我的入口为:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mongoexpress-ingress
spec:
rules:
- host: mylocalmongoexpress.com
http:
paths:
- backend:
serviceName: mongoexpress-service
servicePort: 8081
当我运行“kubectl apply -f mongoexpress-ingress.yaml”时,出现错误:
错误:验证错误“mongoexpress-ingress.yaml”:验证错误 数据:[ValidationError(Ingress.spec.rules[0].http.paths[0].backend): 未知字段“serviceName”在 io.k8s.api.networking.v1.IngressBackend, ValidationError(Ingress.spec.rules[0].http.paths[0].backend):未知 io.k8s.api.networking.v1.IngressBackend 中的字段“servicePort”, ValidationError(Ingress.spec.rules[0].http.paths[0]):缺少必需的 io.k8s.api.networking.v1.HTTPIngressPath] 中的字段“pathType”;如果你 选择忽略这些错误,关闭验证 --validate=false
浏览网上资源,我在 yaml 文件中找不到问题。
那么我在这里错过了什么?
【问题讨论】:
-
您是否使用了正确的 apiversion,初始检查看起来像
networking.k8s.io/v1beta1中引入了这种格式。在 v1 中,我认为您需要在后端定义服务,然后在服务中定义名称和端口
标签: kubernetes kubernetes-ingress kubectl