我有一個運行在GKE上的Kubernetes 1.4.5集羣,我想要測試它。它接受使用HTTPS入口如下我可以將源IP限制爲由Ingress創建的GCP負載均衡器:
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可能提供的解決方案。
謝謝您花時間回答。我已經回到L4(我想!)使用服務 –
感謝您花時間回答。 我已經回到L4(我想!)使用服務類型LoadBalancer,但我仍然失去源IP。看看GCP負載平衡,它現在只有一個轉發規則,轉到一個目標池,該目標池被提供給虛擬機。 GCP有更好的方法嗎? '類型:服務 apiVersion:V1 元數據: 名稱:keycloak-HTTPS服務 規格: 類型:負載平衡器 externalIPs: - xxx.xxx.xxx.xxx 端口: - 端口:443 TARGETPORT :8443 name:https selector: app:keycloak-pod' –
在目標容器中看到的會話的源IP不會是客戶端的原始源IP。這是Kubernetes v1.5的默認行爲。但是,從v1.5開始,添加了一個可選的測試版功能,可以保留GCE/GKE環境的客戶端源IP。 – George