首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure流量管理器上的AKS Ingress终结点

问Azure流量管理器上的AKS Ingress终结点
EN

Stack Overflow用户
提问于 2019-12-11 16:24:10
回答 2查看 1.6K关注 0票数 5

我已经在AKS集群上部署了多个微服务,并在nginx入口控制器上公开了它。指向dns为blabla.eastus.azure.com的静态ip的入口

应用程序在blabla.eastus.azure.com/ Application /和blabla.eastus.azure.com/application2/上公开。等。

我已经在Azure的blabla.trafficmanager.net中创建了一个流量管理器配置文件。我应该如何在流量管理器中配置AKS入口,以便流量管理器将请求重新路由到部署在AKS入口上的应用程序。

代码语言:javascript
复制
---Ingress.yaml configuration used
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  namespace: ns
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
  - host: blabla.eastus.azure.com
    http:
      paths:
      - backend:
          serviceName: application1
          servicePort: 80
        path: /application1(/|$)(.*)
      - backend:
          serviceName: application2
          servicePort: 80
        path: /application2(/|$)(.*)
      - backend:
          serviceName: aks-helloworld
          servicePort: 80
        path: /(.*)

当我点击curl http://blabla.trafficmanager.net时,响应是default backend - 404

当我将主机更新为http://blabla.trafficmanager.net时,我能够通过http://blabla.trafficmanager.net\application1访问该应用程序

对于创建的任何自定义cname也是如此。我创建了一个名为custom.domain.com的cname,并将其重定向到blabla.eastus.azure.com。因此,除非我将入口中的主机直接更新到custom.domain.com,否则我无法通过自定义域访问它

EN

回答 2

Stack Overflow用户

发布于 2019-12-20 17:24:35

实际的请求永远不会通过Traffic Manager传递。流量管理器是Azure提供的基于DNS的负载平衡解决方案。

当您浏览Azure TM终结点时,它会解析并为您提供一个IP。然后您的浏览器请求该IP地址。

在您的情况下,您的AKS应该有一个公共端点,TM可以将DNS查询解析到该公共端点。此外,您还需要创建CNAME记录以将TM FQDN映射到您的自定义域。如果不这样做,你将得到404。

上面提到的自定义标头设置用于探测,但实际请求将从客户端浏览器发送到TM解析到的端点/IP。

票数 2
EN

Stack Overflow用户

发布于 2020-07-21 18:05:42

满足您需求的一种方法是严格控制每个地域的公网DNS和Ingress Controller公网IP之间的流量;将服务发布方式的灵活性委托给HTTP SNI协议:

​

​

为简单起见,入口控制器没有为其公网IP分配任何A DNS记录。

因此,我们将按照图从右到左实现该体系结构。

流量管理器将有两个端点:每个区域一个。每个端点的值将是对应的入口公网IP。

DNS服务将为app.mydomain.com配置一个CNAME (别名)为mine-apps.trafficmanager.net。

以这种方式,连接到app.mydomain.com的客户端将解析作为Geo DNS的流量管理器(TM)服务,并且基于客户端的IP,将A和B之间较近的目标区域返回给客户端。

同样,您可以使用URL或基于路径的路由通过Ingres公开服务,并控制客户端连接到这些服务的方式。只需确保您的DNS知道如何连接到Traffic Manager。其余的将由TM和Kubernetes中的Ingress对象神奇地处理。

最后但并非最不重要的一点是,一旦正确配置了所有集成,并且它们满足了您的主要需求,您就可以开始扩展现有体系结构并适应您的实际需求;例如:在Traffic Manager的端点中去除静态in。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59281497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档