【问题标题】:GKE: ingress loadbalancer does not use configured static IPGKE:入口负载均衡器不使用配置的静态 IP
【发布时间】:2019-06-22 14:52:39
【问题描述】:

我在 GCP 中使用 terraform 创建了一个全局静态 IP 地址。但是,当我尝试将其分配给 GKE 集群中的入口控制器时,它会被忽略:

这是我的 kubernetes 配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
    name: homefully-ingress
    annotations:
        kubernetes.io/ingress.global-static-ip-name: "homefully-ingress-root"   
    labels:
        app: homefully-ingress
spec:
    # ...

此处引用的 IP 地址如下所示:

NAME                    REGION        ADDRESS        STATUS
homefully-ingress-root  europe-west3  35.234.83.106  RESERVED

但是,ingress 使用该 IP 地址,而是使用另一个随机 IP 地址。这是一个相当大的问题,因为我没有使用谷歌的 DNS 服务,所以我需要依赖静态 IP。

相反,这就是我得到的:

Name:             homefully-ingress
Namespace:        default
Address:          35.227.252.112
Default backend:  auth-proxy-staging:4180 (10.4.0.7:4180)
Rules:
  Host                       Path  Backends
  ----                       ----  --------
  adminpanel.homefully.tech
                                homefully-management-frontend-website-staging:80 (10.4.2.7:80)
Annotations:
  kubectl.kubernetes.io/last-applied-configuration:  {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"gce","kubernetes.io/ingress.global-static-ip-name":"homefully-ingress-root"},"labels":{"app":"homefully-ingress"},"name":"homefully-ingress","namespace":"default"},"spec":{"backend":{"serviceName":"auth-proxy-staging","servicePort":4180},"rules":[{"host":"adminpanel.homefully.tech","http":{"paths":[{"backend":{"serviceName":"homefully-management-frontend-website-staging","servicePort":80}}]}}]}}

  kubernetes.io/ingress.class:                  gce
  kubernetes.io/ingress.global-static-ip-name:  homefully-ingress-root
  ingress.kubernetes.io/backends:               {"k8s-be-31611--026ed6556721059b":"Unknown","k8s-be-32450--026ed6556721059b":"Unknown"}
  ingress.kubernetes.io/forwarding-rule:        k8s-fw-default-homefully-ingress--026ed6556721059b
  ingress.kubernetes.io/target-proxy:           k8s-tp-default-homefully-ingress--026ed6556721059b
  ingress.kubernetes.io/url-map:                k8s-um-default-homefully-ingress--026ed6556721059b
Events:
  Type    Reason  Age   From                     Message
  ----    ------  ----  ----                     -------
  Normal  ADD     8m    loadbalancer-controller  default/homefully-ingress
  Normal  CREATE  7m    loadbalancer-controller  ip: 35.227.252.112

我在这里找不到错误消息或任何有关问题所在的提示。非常感谢您的一些建议

【问题讨论】:

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


    【解决方案1】:

    愚蠢的我 - 这不是一个全球 IP 地址。在这种情况下,只会随机分配一个新的

    【讨论】:

    • 你并不孤单,我的朋友。当您从 GCP 控制台恕我直言创建 IP 地址时,此问题尤其明显。
    • 遇到了同样的问题,我花了很长时间才弄清楚。区域 IP 仅适用于 LoadBalancer 类型的服务,全局 IP 仅适用于入口:cloud.google.com/kubernetes-engine/docs/tutorials/…
    • 有相同的掌脸时刻,在 Terraform 中记得使用google_compute_global_address
    猜你喜欢
    • 2017-03-01
    • 2018-08-01
    • 2020-02-20
    • 1970-01-01
    • 2019-01-09
    • 2020-07-29
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多