【问题标题】:How to set a Domain Name for a Load Balancer Service on AKS如何在 AKS 上为负载均衡器服务设置域名
【发布时间】:2019-06-08 06:29:30
【问题描述】:

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

我在 AKS 上创建了 Type LoadBalancer 的简单服务。该服务获得分配的外部 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

【问题讨论】:

    标签: azure kubernetes azure-aks


    【解决方案1】:

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

    像这个例子:

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

    【讨论】:

    • 仅供参考:如果您直接执行此操作,则会收到错误:域名标签 $label-name 无效。它必须符合以下正则表达式:^[a-z][a-z0-9-]{1,61}[a-z0-9]$。我假设这个例子中的 $label-name 是一个模板参数?有关最新文档,请参见此处:docs.microsoft.com/en-us/azure/aks/…
    • 其中 $label-name 是一个变量,将其替换为您要查找的值。
    【解决方案2】:

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

    按照Use a static public IP address with the Azure Kubernetes Service (AKS) load balancer中的步骤,注意,当您使用CLI命令az network public-ip create创建公共IP时,不要忘记添加参数--dns-name

    【讨论】:

    • 这就是我最终要做的。非常感谢
    【解决方案3】:

    kubernetes 没有内置的进程。您需要在外部执行此操作,例如使用 pulumi,或者您需要使用 external-dns。它会扫描您的入口定义并将匹配的 A 记录应用于配置的 dns 域。

    那么它会发生什么发现入口资源,找到与之关联的主机,找到 IP 地址并在 dns 中创建与主机匹配的 A 记录,并以入口侦听的 IP 地址为目标。

    【讨论】:

    • 感谢您的回答。让我换个说法,除了外部IP之外,还有其他方法可以访问该服务。 Kubernetes 是否分配了我可以使用的任何 fqdn?我不需要自定义 DNS 条目,只需要除 IP 之外访问服务的东西。
    • 这毫无意义。除了 ip 或 dns 名称之外,无法访问服务。至少我不知道任何其他方式。 kubernetes 不会为端点分配任何 dns 名称。你可以看看HTTP application routing addon,它或多或少是外部dns的替代品,但很糟糕。
    【解决方案4】:

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

    当您在服务中定义 LoadBalancer(如您所愿)并进行部署时,AKS 会自动分配一个公共 IP。此外,它还会创建一个“别名”记录。

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

    【讨论】:

      猜你喜欢
      • 2020-09-13
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 2017-02-12
      相关资源
      最近更新 更多