Kubernetes Ingress - 无法访问

Kubernetes Ingress - cannot access

我是 Kubernetes 中 Ingress 的新手。我在我的 AKS 集群中安装了 Ingress NGINX 控制器。我的应用程序在 testns(命名空间)中的 pod(端口 80)中运行。我在同一个命名空间中为它创建了一个服务。现在我想从外部访问我的应用程序。所以我为它创建了一个 Ingress yaml。

service.yaml

 kubectl get svc -A | grep my-svc
    testns    my-svc                         ClusterIP      10.0.116.192   <none>          80/TCP                             93m

入口

Name:             example-ingress
Namespace:        testns
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host        Path  Backends
  ----        ----  --------
  *
              /apple   my-svc:80 (10.244.1.33:80)
Annotations:  ingress.kubernetes.io/rewrite-target: /
Events:       <none>

ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
        - path: /apple
          backend:
            serviceName: my-svc
            servicePort: 80

当我使用 /apple 访问时,出现 404 错误。我想知道为什么不能访问应用

尝试将入口 class 添加到 YAML 配置 kubernetes.io/ingress.class: "nginx"

作为注释

kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/rewrite-target: /

例子

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
        - path: /apple
          backend:
            serviceName: my-svc
            servicePort: 80