【问题标题】:ingress-controller and Google kubernetes入口控制器和谷歌 kubernetes
【发布时间】:2020-02-10 19:08:40
【问题描述】:

我在谷歌云上的 Kubernetes 集群中创建了一个入口资源。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gordion
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.global-static-ip-name: gordion-ingress
    networking.gke.io/managed-certificates: gordion-certificate,gordion-certificate-backend
spec:
  rules:
  - host: backend.gordion.io
    http:
      paths:
      - path: /
        backend:
          serviceName: backend
          servicePort: 80

一切正常。但是,我还没有创建任何ingress-controllerthe official docs state它必须拥有它。

你必须有一个入口控制器来满足一个入口。仅有的 创建 Ingress 资源无效。

如果我的路由确实有效,那么我的入口控制器在哪里?如何查看其配置?

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    是的,如果你给它一个 NodePort 服务和一个背后的服务,你的入口将像这样工作......但你可以只创建一个 LoadBalancer 服务并获得相同的结果。

    如果您没有任何入口控制器,则您的某些配置不好,因为您引用了一些 nginx 入口控制器配置(重写)。

    入口控制器的目的是为集群内的多个应用程序负载均衡 http-traffic,这意味着您只需为多个域/路径创建一个提供程序(此处为 GCP)LB。这允许您进行一些 finops,而无需为每个应用创建多个公共 IP 和 LB 资源。

    在您提到的先决条件中发布的文档中,有一个可用解决方案列表,例如 nginx-ingress 控制器、traefik ....

    如何使用它们:

    • 首先像您一样创建一个入口,删除 nginx 重写并将 * 放入主机(例如,这是默认配置)
    • 控制器启动后,为每个需要具有 Internet 路径的应用创建一个带有特定于入口的注释的入口。

    【讨论】:

      【解决方案2】:

      在 Google Kubernetes Engine (GKE) 中,当您创建 Ingress 对象时,内置的 GKE 入口控制器将负责创建符合您的 Ingress 及其服务的适当 HTTP(S) 负载平衡器。有关更多信息,请查看此 Google Cloud Document 上的“使用 Ingress 进行 HTTP(S) 负载平衡”。

      【讨论】:

      • 实际上是否使 nginx-controller 变得多余?
      • @LiranC 如果您在 GKE 上安装 Nginx 控制器,那么它将替换 GKE Ingress 控制器。不会有任何冗余。选择 Nginx 而不是默认 GKE 控制器的一个原因是为了获得更多功能,这些功能在 link 中进行了说明。
      【解决方案3】:

      在GKE中,如果不指定kubernetes.io/ingress.class: nginx注解,则默认使用GCE L7负载均衡控制器(GLBC)(实际上相当于设置kubernetes.io/ingress.class: gce)。此控制器将自动配置并依赖 GCP 的全局 HTTP(s) 负载平衡器。

      您可以在GLBC GitHub's pagein this How-To article 上找到有关此主题的更多信息。

      【讨论】:

        猜你喜欢
        • 2021-01-28
        • 2021-04-17
        • 2018-07-22
        • 2018-10-29
        • 2016-10-28
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 2018-09-29
        相关资源
        最近更新 更多