从Azure k8s外部访问Web应用

时间:2020-04-05 20:42:04

标签: azure kubernetes dns kubernetes-ingress

从群集外部使用名称已在Azure DNS区域中定义的名称访问在aks容器中运行的Web应用程序的最佳方法是什么?外部DNS服务器对此有帮助吗?

1 个答案:

答案 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=NodePortService.Type=LoadBalancer类型的服务。

我建议阅读Create an ingress controller in Azure Kubernetes Service (AKS),或使用Azure应用程序网关作为入口here进行了解释,您可以在GitHub上找到教程