【问题标题】:Replace haproxy by ingress in AKS在 AKS 中用入口替换 haproxy
【发布时间】:2021-04-06 05:47:34
【问题描述】:

我是 Azure Kubernetes 的新手。

我正在实施 AKS,我想使用入口以便在我录制 https://front.domain.com 时重定向到 app-front POD 当我在 brosser 中录制 https://grafana.domain.com 时,重定向到 grafana POD

我问是否可以在不使用 haproxy 的情况下做到这一点。

我在 OVH 中管理 DNS 子域。

谢谢

【问题讨论】:

    标签: kubernetes kubernetes-ingress azure-aks


    【解决方案1】:

    您可以安装 Ingress 控制器,例如 NGINX Ingress Controller。如果您需要证书管理(通过 Let's Encrypt),还需要安装 cert-manager

    使用 Helm 可以做到这一点:

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
    helm repo update
    helm install ingress-nginx ingress-nginx/ingress-nginx
    

    helm repo add jetstack https://charts.jetstack.io
    helm repo update
    helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace
    

    【讨论】:

    • 和使用子域的路由?
    • 将通配符 DNS 设置为 ingress-nginx 的 IP - 然后您可以通过入口对象公开任何子域
    【解决方案2】:

    您可以将Ingress 与选定的Ingress Controller(s) 一起使用。需要 Ingress Controller:

    为了让 Ingress 资源正常工作,集群必须有一个 入口控制器正在运行。

    与其他类型的控制器不同,它们作为 kube-controller-manager 二进制,入口控制器未启动 自动与集群。使用此页面选择入口 最适合您的集群的控制器实现。

    Create an ingress controller in Azure Kubernetes Service (AKS) 将向您展示一个分步指南,描述如何实施它的示例。

    至于路由,Create an ingress route 显示了它是如何工作的:

    要将流量路由到每个应用程序,请创建一个 Kubernetes 入口 资源。入口资源配置路由流量的规则 到两个应用程序之一。

    根据您的问题,如果您的服务只能通过 https 访问,您需要将以下 annotation 添加到您的入口 yaml:

    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2011-09-03
      相关资源
      最近更新 更多