【问题标题】:HTTP-LoadBalancer constructed with Ingress on GKE is unstable between http-allowance and NOT http-allowance在 GKE 上使用 Ingress 构建的 HTTP-LoadBalancer 在 http-allowance 和 NOT http-allowance 之间不稳定
【发布时间】:2019-02-07 09:59:23
【问题描述】:

我正在尝试在带有 Ingress 的 GKE 上设置不允许使用 HTTP 的 HTTPS-LB。

现在,如官方网站所述,我在私有集群上部署了一个简单的应用程序。该应用程序可以使用浏览器访问。 ※http-connection和https-connection均可

然后我通过在 LB 的设置中关闭(删除)前端的协议“http”来禁止对应用程序的 http 访问。 实际上,起初,通过浏览器的 http 连接出错,而不是连接错误。 5-10 分钟后,http-protocol 设置会自动恢复。

这是一个 yaml 文件。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-name
  annotations:
    # kubernetes.io/ingress.allow-http: "false" 
    kubernetes.io/ingress.global-static-ip-name: "ip-name" 
spec:
  #tls:
  #This assumes tls-secret exists.
  #- hosts:
  #  - XXXXXXXX.XXX.XXX
  #  secretName: ip-secret ← no use because of google-managed-ssl
  rules:
  - http:
      paths:
      # to app
      - path: /*
        backend:
          serviceName: XXXXX-backend
          servicePort: 80
      # to DS Export
      - path: /backend/*
        backend:
          serviceName: XXXXX-be-backend
          servicePort: 80

这个问题是由浏览器引起的吗?还是 gce 实例上的 http-health-checker 等内部设置?

【问题讨论】:

    标签: https google-cloud-platform load-balancing kubernetes-ingress google-kubernetes-engine


    【解决方案1】:

    如果您可以确认您正在学习哪个教程,我们可以确认测试。这么说,我认为你看到的行为是可以预料的。

    根据GKE Ingress doc,它声明:

    "每当通过 Ingress 配置 HTTP(S) 负载均衡器时,您不得手动更改或更新 HTTP(S) 负载均衡器的配置。也就是说,您不得编辑任何负载均衡器的组件,包括目标代理、URL 映射和后端服务。您所做的任何更改都将被 GKE 覆盖 "

    您可以尝试删除入口,手动编辑您的 YAML 文件并重新创建它,然后查看是否可以删除 HTTP。

    【讨论】:

      猜你喜欢
      • 2021-07-31
      • 2020-04-20
      • 2021-03-14
      • 2018-08-03
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      相关资源
      最近更新 更多