【问题标题】:AKS Assign a DNS name to private ClusterIP addressAKS 将 DNS 名称分配给专用 ClusterIP 地址
【发布时间】:2021-10-10 07:18:54
【问题描述】:

我不知道如何实现这个问题: 我有这个带有 4 个微服务 (.net5) 和一个前端的私有 AKS 集群。这 4 个微服务使用它们的公共 IP 地址通过 HTTP 请求相互通信(不好,因为我希望它们只有一个私有端点,例如 microservicename.api.my-namespace.svc.cluster-domain.example em>)。 然后前端(具有公共 DNS 和 IP)应该能够在该私有端点中请求主 API。 我需要实现一个解决方案,而且我觉得通过某个端点上的 HTTP 请求在微服务之间进行通信不是一个好的设计模式,所以我也想在这方面提出一些建议。 非常感谢

【问题讨论】:

  • 你好@Davide Di Giovanni,如果我的回答对你有帮助,你可以投票并接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为填充。) .这对其他社区成员可能是有益的。谢谢。

标签: azure kubernetes microservices azure-aks


【解决方案1】:

• 在这种情况下,您可以使用 Azure 专用链接服务通过专用终结点在专用 AKS 群集和前端之间建立通信,该终结点将在专用 AKS 群集的子网中公开。

• 仅标准 Azure 负载均衡器支持专用链接服务。不支持基本 Azure 负载均衡器。若要使用自定义 DNS 服务器,请将 Azure DNS IP 168.63.129.16 添加为自定义 DNS 服务器中的上游 DNS 服务器。

• 您可以使用以下命令和私有 DNS 区域或自定义私有 DNS 区域创建由四个微服务组成的私有 AKS 集群:-

'az aks create -n -g --load-balancer-sku 标准 --enable-private-cluster --enable-managed-identity --assign-identity --private-dns-zone [system|none] ' – 带有私有 DNS 区域(系统默认值,公共 DNS 区域没有)

'az aks create -n -g --load-balancer-sku 标准 --enable-private-cluster --enable-managed-identity --assign-identity --private-dns-zone --fqdn-subdomain '

• 如果私有 DNS 区域与 AKS 群集位于不同的订阅中,您需要在这两个订阅中注册 Microsoft.ContainerServices。此外,您将需要至少具有私有 dns 区域参与者和 vnet 参与者角色的用户分配的身份或服务主体。 “fqdn-subdomain”可以与“CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID”一起使用,仅用于向 privatelink..azmk8s.io 提供子域功能

• 接下来,您需要使用可以访问 AKS 群集的 Azure 虚拟网络 (VNet) 的 VM。有多种选项可用于建立与专用群集的网络连接,例如在与 AKS 群集相同的 Azure 虚拟网络 (VNet) 中创建 VM,或者在单独的网络中使用 VM 并设置虚拟网络对等互连。因此,您可以为私有 AKS 集群中的四个微服务创建一个带有私有终结点的私有链接,并提供到前端 API 的连接。

更多详情请参考以下链接:-

https://docs.microsoft.com/en-us/azure/aks/private-clusters

【讨论】:

    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多