【问题标题】:Azure Application Gateway Multisite listener through Application Gateway Ingress Controller通过应用程序网关入口控制器的 Azure 应用程序网关多站点侦听器
【发布时间】:2020-12-03 11:25:18
【问题描述】:

您好,我正在寻找一种方法来创建多站点侦听器类型并在应用程序网关由应用程序网关入口控制器创建时提供站点的主机名。

默认情况下,AGIC 创建基本类型的侦听器,当在 AKS 集群中部署多个具有不同主机名的入口时,该侦听器无法正常工作。

任何人都可以建议所需的注释来实现它吗?

【问题讨论】:

    标签: azure azure-aks azure-application-gateway


    【解决方案1】:

    刚刚快速运行green field deployment,它工作正常。 AGIC 正在端口 80 上创建多个基本侦听器并为多个主机提供流量,即使门户界面显示errors。请确保您正确创建了 Ingress 和其他 k8s 对象。

    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: name-virtual-host-ingress
      annotations:
        kubernetes.io/ingress.class: azure/application-gateway
    spec:
      rules:
      - host: foo.bar.com
        http:
          paths:
          - path: /
            backend:
              serviceName: aspnetapp
              servicePort: 80
      - host: bar.foo.com
        http:
          paths:
          - path: /
            backend:
              serviceName: nginx
              servicePort: 80
    

    【讨论】:

    • 感谢您的回复。您能否建议在入口资源上需要哪些注释(除了 ingress.class)才能使其正常工作?多站点路由是否需要 appgw.ingress.kubernetes.io/backend-hostname 才能工作?
    • 您只需要我在代码 sn-p 中指定的多个主机条目。上面的代码将同时响应foo.bar.combar.foo.com。如果我遗漏了什么,请告诉我。
    • 我在单独的入口资源中有这些定义。我想这应该没什么区别。
    • 正确。它应该以任何一种方式工作。你遇到了什么错误?即使它没有配置多站点侦听器,它也应该可以正常工作。请参阅我在回复中添加的 github 问题参考。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2020-06-17
    • 2020-10-02
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    相关资源
    最近更新 更多