我在我的GKE上使用多个ingress资源,比如我在不同的命名空间中有2个入口。我创建了入口资源,如下面的yaml所示。使用下面的yaml中使用的注释,我清楚地提到我正在使用GKE附带的GCE控制器(https://github.com/kubernetes/ingress-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
答案 0 :(得分:1)
在您的Ingress资源中,您可以指定您需要Load Balancer以使用具有kubernetes.io/ingress.global-static-ip-name
注释的特定IP地址,如下所示:
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。