【问题标题】:Access a web app from outside an Azure k8s从 Azure k8s 外部访问 Web 应用
【发布时间】:2020-04-05 20:42:04
【问题描述】:

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

【问题讨论】:

    标签: azure kubernetes dns kubernetes-ingress


    【解决方案1】:

    我会设置一个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=NodePortService.Type=LoadBalancer 类型的服务。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-18
      • 2019-01-03
      • 2021-08-23
      • 2021-10-24
      • 1970-01-01
      • 2021-02-16
      • 2022-06-30
      • 1970-01-01
      相关资源
      最近更新 更多