[英]How to set a Domain Name for a Load Balancer Service on AKS
将 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
对于您的问题,您可以使用负载均衡器类型创建服务,并使用您之前希望使用 DNS 名称创建的静态负载均衡器 IP。 然后是外部 IP 的 FQDN,IP 和 FQDN 都可以访问 AKS pod 中的应用程序。
按照将静态公共 IP 地址与 Azure Kubernetes 服务 (AKS) 负载均衡器一起使用中的步骤操作,注意,使用 CLI 命令az network public-ip create
,不要忘记添加参数--dns-name
。
最好的方法是在元数据中使用注释,我对其进行了测试,如果服务存在并且您应用它就不起作用,您需要首先删除 svc 并使用此元数据重新创建。
像这个例子:
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/azure-dns-label-name: $label-name
kubernetes 没有内置的进程。 您需要在外部执行此操作,例如使用 pulumi,或者您需要使用external-dns 。 它会扫描您的入口定义并将匹配的 A 记录应用于配置的 dns 域。
那么会发生什么,它会找到入口资源,找到与其关联的主机,找到 IP 地址并在与主机匹配的 dns 中创建一个 A 记录,该记录以入口侦听的 IP 地址为目标。
如果您也在 Azure 上托管 DNS,还有另一种方法。
当您在服务中定义 LoadBalancer(如您所拥有)并进行部署时,AKS 会自动分配一个公共 IP。 此外,它还创建了一个“别名”记录。
在 Azure DNS 服务中,可以将新记录集映射到此别名记录。 我不知道 Azure 的后端是如何管理的。 如果 Azure 团队的某个人可以提供更多详细信息,那就太好了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.