如何在 AKS 上为负载均衡器服务设置域名



DNS 记录分配给负载平衡服务的过程是什么?

我在 AKS 上创建了一个类型的负载均衡器的简单服务。该服务获取分配的外部 IP,并指向托管示例 hello world 应用程序的 Pod。

如何使用 DNS 名称

浏览我的应用程序,或首先设置服务的 DNS 名称。我可以成功浏览到 IP。

服务yml

apiVersion: v1
kind: Service
metadata:
 name: transactionapi-svc
 labels:
   version: v1
spec:
 type: LoadBalancer
 ports:
  - name: http
    port: 80
  - name: https
    port: 443
 selector:
  app: transaction-api

最好的方法是在元数据中使用注释,我测试了它,如果服务存在并且您申请,则不起作用,您首先需要删除 svc 并使用此元数据重新创建。

像这个例子:

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-dns-label-name: $label-name

对于您的问题,您可以使用负载均衡器类型创建服务,并使用您之前使用 DNS 名称创建的静态负载均衡器 IP。然后,外部 IP 有一个 FQDN,IP 和 FQDN 都可以访问 AKS 容器中的应用程序。

按照将静态公共 IP 地址与 Azure Kubernetes 服务 (AKS( 负载均衡器配合使用中的步骤操作,在使用 CLI 命令创建公共 IP 时,请注意az network public-ip create,不要忘记添加参数 --dns-name

Kubernetes 没有内置的进程。 你需要在外部这样做,比如使用Pulumi,或者你需要使用外部DNS。它会扫描入口定义,并将匹配的 A 记录应用于配置的 dns 域。

因此,会发生什么情况,它会找到入口资源,找到与其关联的主机,找到 IP 地址并在 dns 中创建与主机匹配且针对入口侦听的 IP 地址的 A 记录。

如果同时在 Azure 上托管 DNS,还有另一种方法。

在服务和部署中定义负载均衡器(如你一样(时,AKS 会自动分配公共 IP。此外,它还会创建"别名"记录。

在 Azure DNS 服务中,可以将新记录集映射到此别名记录。我不知道如何在 Azure 的后端管理它。如果 Azure 团队中的某个人可以提供更多详细信息,那就太好了。

最新更新