首页 > 解决方案 > 遇到错误,我不理解 k8s

问题描述

我的 yaml 文件。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    -http:
      paths:
        - path: /?(.*)
          backend:
            serviceName: nginx-service
            servicePort: 80
kubectl apply -f file.yaml

error: error validating "ingress.yaml": error validating data: ValidationError(Ingress.spec.rules): invalid type for io.k8s.api.networking.v1beta1.IngressSpec.rules: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

标签: kubernetes

解决方案


这只是 yaml 模板错误,请使用

kubectl explain ingress.spec.rules

得到想法。

入口规则中也缺少主机名,应该类似于

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    -host: {replace-me-with-hostname}
     http:
       paths:
        - path: /?(.*)
          backend:
            serviceName: nginx-service
            servicePort: 80 


推荐阅读