k8s-for-docker-desktop icon indicating copy to clipboard operation
k8s-for-docker-desktop copied to clipboard

sample/ingress.yaml在k8s v1.22.4版本中配置失效

Open FlowerBirds opened this issue 4 years ago • 0 comments

示例中yaml:


apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
        - path: /apple
          pathType: Exact
          backend:
            service:
              name: apple-service
              port:
                number: 5678
        - path: /banana
          pathType: Exact
          backend:
            service:
              name: banana-service
              port: 
                number: 5678

实际访问中全部为404,无法访问http://localhost/apple地址。 查看NGINX Ingress(https://kubernetes.github.io/ingress-nginx/user-guide/basic-usage/) 文档如下:

If cluster version >= 1.19 the Ingress resource above will not work, instead of annotations you should use the new ingressClassName: nginx property.

修改yaml,添加ingressClassName: nginx属性,如下:


apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
        - path: /apple
          pathType: Exact
          backend:
            service:
              name: apple-service
              port:
                number: 5678
        - path: /banana
          pathType: Exact
          backend:
            service:
              name: banana-service
              port: 
                number: 5678

访问成功

FlowerBirds avatar Dec 15 '21 00:12 FlowerBirds