Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 我是否可以将源IP限制为由Ingress创建的GCP负载平衡器_Google Cloud Platform_Google Kubernetes Engine - Fatal编程技术网

Google cloud platform 我是否可以将源IP限制为由Ingress创建的GCP负载平衡器

Google cloud platform 我是否可以将源IP限制为由Ingress创建的GCP负载平衡器,google-cloud-platform,google-kubernetes-engine,Google Cloud Platform,Google Kubernetes Engine,我有一个在GKE上运行的Kubernetes 1.4.5集群,我想将其投入测试。它使用如下入口接受HTTPS kind: Ingress apiVersion: extensions/v1beta1 metadata: name: keycloak-ingress annotations: kubernetes.io/ingress.allow-http: "false" #kubernetes.io/ingress.class: "gce" spec: tls:

我有一个在GKE上运行的Kubernetes 1.4.5集群,我想将其投入测试。它使用如下入口接受HTTPS

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: keycloak-ingress
  annotations:
    kubernetes.io/ingress.allow-http: "false"
    #kubernetes.io/ingress.class: "gce"
spec:
  tls:
  - secretName: mysecret
  backend:
    serviceName: keycloak-https-service
    servicePort: 443
在测试期间,我想限制可以访问群集的源IP。因为负载平衡器将所有传入流量的源IP转换为本地IP地址,所以Google云防火墙无法限制此流量。有没有办法限制进入负载平衡器的流量


我知道这是一个严格意义上的GCE问题,但Kubernetes可能会提供一个解决方案。

您正在寻找一个管道:

GCE L7磅->虚拟机:节点端口->吊舱

交通状况:

GCE L7磅->您的虚拟机

应来自中提到的130.211.0.0/22。你应该已经有了防火墙规则。 交通状况:

虚拟机->容器

应该来自你的虚拟机IP。您不能控制谁与lb对话,您可以控制谁与节点对话


不幸的是,由于上述情况,这不适用于HTTP LB。它适用于L3/L4 LB,因为您在到达vm的数据包中获得了实际客户端的源ip:

云装甲产品允许您使用ip白名单限制对负载平衡器的访问。该产品可能是在OP提出该问题后推出的。我使用云盔甲将负载平衡流量限制在Kubernetes入口


感谢您抽出时间回答。我已经退回到L4(我想!)使用服务谢谢你花时间回答。我已经退回到L4(我想!)使用服务类型的LoadBalancer,但我仍然失去了源IP。查看GCP负载平衡,它现在只有一个转发规则,它将转发到一个目标池,该池将馈送到虚拟机中。GCP上有更好的方法吗?`种类:服务APIVATION:v1元数据:名称:KeyClope https服务规范:类型:LoadBalancer externalIPs:-xxx.xxx.xxx端口:-端口:443 targetPort:8443名称:https选择器:app:KeyClope pod`目标容器中看到的会话的源IP将不是客户端的原始源IP。这是Kubernetes v1.5版的默认行为。但是,从v1.5开始,添加了一个可选的beta特性,该特性将为GCE/GKE环境保留客户端源IP。