【发布时间】:2020-04-05 20:42:04
【问题描述】:
使用已在 Azure DNS 区域中定义的名称从集群外部访问在 aks 容器中运行的 Web 应用程序的最佳方式是什么?并且外部 DNS 服务器可以对此有所帮助?
【问题讨论】:
标签: azure kubernetes dns kubernetes-ingress
使用已在 Azure DNS 区域中定义的名称从集群外部访问在 aks 容器中运行的 Web 应用程序的最佳方式是什么?并且外部 DNS 服务器可以对此有所帮助?
【问题讨论】:
标签: azure kubernetes dns kubernetes-ingress
我会设置一个ingress 来指向您的服务,该服务会公开网络应用程序。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: simple-fanout-example
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: your.web.app.address
http:
paths:
- path: /
backend:
serviceName: service
servicePort: 8080
Ingress 将来自集群外部的 HTTP 和 HTTPS 路由公开给集群内的 services。流量路由由 Ingress 资源上定义的规则控制。
internet
|
[ Ingress ]
--|-----|--
[ Services ]
Ingress 可以配置为向服务提供外部可访问的 URL、负载平衡流量、终止 SSL/TLS 并提供基于名称的虚拟主机。 Ingress controller 负责完成 Ingress,通常使用负载均衡器,但它也可能配置边缘路由器或其他前端来帮助处理流量。
Ingress 不会公开任意端口或协议。向 Internet 公开 HTTP 和 HTTPS 以外的服务通常使用 Service.Type=NodePort 或 Service.Type=LoadBalancer 类型的服务。
我建议阅读 Create an ingress controller in Azure Kubernetes Service (AKS),或使用 Azure 应用程序网关作为入口,这已在 here 进行了解释,您可以在 GitHub 上找到教程
【讨论】: