GKE:入口负载均衡器不使用配置的静态 IP

Mat*_*tar 7 google-cloud-platform google-kubernetes-engine kubernetes-ingress

我在 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:
    # ...
Run Code Online (Sandbox Code Playgroud)

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

NAME                    REGION        ADDRESS        STATUS
homefully-ingress-root  europe-west3  35.234.83.106  RESERVED
Run Code Online (Sandbox Code Playgroud)

然而,进入并没有使用该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
Run Code Online (Sandbox Code Playgroud)

我找不到错误消息或任何关于这里出了什么问题的提示。将非常感谢一些建议

Mat*_*tar 12

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

  • 你并不孤单,我的朋友。恕我直言,当您从 GCP 控制台创建 IP 地址时,此问题尤其如此。 (2认同)
  • 有同样的问题,我花了很长时间才弄清楚。区域 IP 仅适用于 LoadBalancer 类型的服务,全球 IP 仅适用于入口:https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip (2认同)