我在我的 GKE 上使用多个入口资源,假设我在不同的命名空间中有 2 个入口。我创建了入口资源,如下面的 yaml 所示。通过下面yaml中使用的注释,我清楚地提到我正在使用GKE(https://github.com/kubernetes/ingress-gce(附带的GCE控制器。但是每次我创建一个入口时,我都会得到不同的IP,例如有时我会得到133.133.133。133,其他时候我得到133.133.133。134. 它只在这两个 IP 之间交替(由于配额限制,它可能只在两个 IP 之间交替(。当我只想保留一个 IP 并仅在此 IP 上对多个应用程序进行负载平衡/终止时,这是一个问题。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: gce
name: http-ingress
spec:
backend:
serviceName: http-svc
servicePort: 80
在入口资源中,可以指定需要负载均衡器将特定 IP 地址与kubernetes.io/ingress.global-static-ip-name
注释一起使用,如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: gce
kubernetes.io/ingress.global-static-ip-name: static-ip-name
name: http-ingress
spec:
backend:
serviceName: http-svc
servicePort: 80
您需要首先使用 gcloud 工具创建一个全局静态 IP。请参阅此处的步骤 2(b(:https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip。