如何为Azure AKS的FQDN配置自定义子域名
AKS 基于默认集群FQDN配置子域名实现方案
你当前的xxx.southeastasia.cloudapp.azure.com是AKS关联的公网负载均衡的默认FQDN,该域名的解析权限归Azure所有,无需额外配置DNS解析即可直接使用通配符子域名,通过集群内流量路由规则即可实现需求,具体操作步骤如下:
推荐方案:通过Ingress控制器配置子域名路由
这是AKS场景下最常用的多子域名路由实现方式:
- 第一步:在AKS集群中部署NGINX Ingress控制器,部署时绑定原有AKS公网负载均衡的公网IP,确保Ingress对外暴露的IP与你现有FQDN解析的IP完全一致。
- 第二步:创建Ingress路由规则,分别匹配两个子域名的主机头,转发到对应的后端服务,参考配置示例如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: subdomain-demo-ingress annotations: nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: ingressClassName: nginx rules: - host: aaa.xxx.southeastasia.cloudapp.azure.com http: paths: - path: / pathType: Prefix backend: service: name: aaa-backend-service # 替换为aaa对应的后端服务名称 port: number: 80 # 替换为后端服务的实际端口 - host: bbb.xxx.southeastasia.cloudapp.azure.com http: paths: - path: / pathType: Prefix backend: service: name: bbb-backend-service # 替换为bbb对应的后端服务名称 port: number: 80 # 替换为后端服务的实际端口
- 第三步:将配置提交到集群生效后,直接访问对应的子域名即可,Ingress控制器会自动识别请求的主机头,转发到对应后端服务。
如果需要配置HTTPS访问,可以搭配cert-manager组件自动为两个子域名签发免费的SSL证书。
生产环境长期使用推荐绑定自定义顶级域名,避免Azure默认FQDN调整影响业务可用性。
内容的提问来源于stack exchange,提问作者Pawnpong Inpang
相关产品推荐
相关产品推荐

