小编Mar*_*k W的帖子

AKS Ingress-Nginx 入口控制器无法按主机路由

我正在 Azure Kubernetes 服务上配置 ingress-nginx 负载均衡器。我已经使用 Helm 安装了负载均衡器,并设置了入口。这是我遇到的行为:

  • 当我在入口配置的路径规则中包含主机时,我无法访问该主机 URL 上的服务。请求超时
  • 当我的路径规则中不包含主机时,我可以毫无问题地访问该主机 URL 上的服务
  • 无论主机是否包含在路径规则中,当我从集群中的任何 Pod 进行 CURL 时,我都可以成功访问主机 URL 上的服务。
  • Nslookup 成功解析我机器上的主机

我试图弄清楚为什么当主机包含在我的入口配置中时我无法访问我的服务。有任何想法吗?技术细节如下。

请注意,当前配置仅指向一项服务,但最终需要按主机进行过滤 - 我计划通过此负载均衡器运行具有不同域的多个服务。

入口控制器配置:

helm install --replace ingress-nginx ingress-nginx/ingress-nginx \
  --create-namespace \
  --namespace $NAMESPACE \
  --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=127.0.0.1 \
  --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-dns-label-name"=$DNS_LABEL \
  --set controller.service.loadBalancerIP=$IP \
Run Code Online (Sandbox Code Playgroud)

入口配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hello-world-ingress
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
spec:
  ingressClassName: nginx
  tls:
  - hosts:
    - my.host.com
    secretName: tls-secret
  rules:
  - host: my.host.com //Removing this item makes the service reachable …
Run Code Online (Sandbox Code Playgroud)

nginx azure kubernetes

2
推荐指数
1
解决办法
1574
查看次数

标签 统计

azure ×1

kubernetes ×1

nginx ×1