我使用内部入口 Nginx 创建了 AKS。这在集群中如下所示。
然后我创建了 Azure 私有(private) DNS 服务。在Azure私有(private)DNS服务中,我创建了一个“记录集”,例如
block 引用
从技术上讲,我应该能够通过 Promotion.mydomain.com 访问 LoadBalancer 外部 IP(作为示例)。除此之外,当我点击 http://promotion.mydomain.com 时,出现“502 Bad Gateway”错误在浏览器中。有什么建议吗?
最佳答案
我遇到了同样的问题,最近已经解决了。
我创建了另一个 Ingress,但在所需的命名空间中(我的命名空间是默认的),定义如下:
(我已启用 tls,但您可以删除该部分)
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: my-custom-ingress
spec:
tls:
- hosts:
- foo.mydomain.com
secretName: my-tls-secret
rules:
- host: foo.mydomain.com
http:
paths:
- path: /
backend:
serviceName: my-foo-app-service-nodeport
servicePort: 4444
<小时/>
首先找到您的 nginx 入口的外部 IP 并记住它:
kubectl get svc --namespace ingress-basic
<小时/>
然后在 Azure DNS 区域中,您可以将域附加到 Azure 资源:
- 打开 azure 门户。
- 进入 AKS 集群创建的
MC_...
资源组。 - 找到 LoadBalancer 资源并单击它。
- 在 LoadBalancer 上,进入“前端 IP 配置”。然后,您将看到带有相关 ResourceId 的公共(public) IP 列表(例如:11.22.33.44 (xxx-yyyy-bbb))
- 找到与您在 LoadBalancer 上找到的 LoadBalancer IP 对应的 IP(在步骤 1 之前),并记住关联的对象 ID。
- 打开您的 Azure DNS 区域并创建新域(或编辑域)
- 设置“别名记录集:是”,然后设置“别名类型:资源”
- 在“Azure 资源”下找到具有您在第 5 步中找到的 ResourceId 的资源并选择它。
- 保存
现在应该可以工作了。
关于azure - 如何使用 Azure 私有(private) DNS 设置 Aks Ingress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59844071/