从群集外部使用名称已在Azure DNS区域中定义的名称访问在aks容器中运行的Web应用程序的最佳方法是什么?外部DNS服务器对此有帮助吗?
答案 0 :(得分:0)
我将设置一个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公开了从群集外部到群集内services的HTTP和HTTPS路由。流量路由受Ingress资源上定义的规则控制。
internet
|
[ Ingress ]
--|-----|--
[ Services ]
可以将Ingress配置为提供服务外部可访问的URL,负载平衡流量,终止SSL / TLS以及基于名称的虚拟主机。 Ingress controller通常通过负载平衡器负责实现Ingress,尽管它也可以配置边缘路由器或其他前端以帮助处理流量。
Ingress不会公开任意端口或协议。将HTTP和HTTPS以外的服务公开到Internet时,通常使用Service.Type=NodePort或Service.Type=LoadBalancer类型的服务。
我建议阅读Create an ingress controller in Azure Kubernetes Service (AKS),或使用Azure应用程序网关作为入口here进行了解释,您可以在GitHub上找到教程