在入口 nginx 配置中为特定主机启用重写

Enable rewrite for a particular host in ingress nginx configuration

我有下面的 ingress-nginx 配置文件。

它重写了 one.example.com 的请求。我添加了另一个域,但我不希望其他域发生重写。

我浏览了文档,但现在有针对多主机设置的重写示例。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
    certmanager.k8s.io/cluster-issuer: "letsencrypt-example-prod"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
    - hosts:
        - one.example.com
        - two.example.com
      secretName: super-secret
  rules:
    - host: one.example.com
      http:
        paths:
          - path: /customer/?(.*)
            pathType: Prefix
            backend:
              service:
                name: customer-srv
                port:
                  number: 3000
      host: two.example.com
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: kube-prometheus-grafana
              port:
                number: 80

我可以为每个主机创建两个单独的入口文件。

在那种情况下会发生什么,它会创建两个具有不同 dns 的负载平衡器?

(集群托管在 aws 上)

您可以创建两个单独的入口。

在那种情况下,您的入口不会有任何改变控制器 IP 仅对于 DNS 是相同的。

What will happen in that case it will create two load balancers with different dns?

不,它不会创建两个负载均衡器。