如何在GKE上允许来自Google Cloud Run群集的出站请求

问题描述 投票:1回答:2

启用云运行的群集默认情况下禁用来自任何Pod的出站网络流量

通过遵循文档创建具有Cloud Run的群集后,可以检查来自群集中的pod内的所有请求,甚至不是来自Knative服务pod,而是来自任何pod,都将返回404.不清楚哪个配置设置此但很明显,它是通过创建启用了Cloud Run的集群来实现的。

因此,我们无法在此群集上安装helm。实际上,我们无法安装需要来自pod的外部请求的任何内容。

重现步骤:

1 - 关注Cloud Run设置official documentation

2 - 在群集中启动一个简单的高山荚:kubectl run -it --rm --restart=Never alpine --image=alpine sh

3 - 做任何外部请求,例如:wget www.google.com

Cloud Run还记录了这种行为并解释了如何使用enable outbound traffic

虽然,我按照这个步骤仍然无法启用流量。也许我做错了什么,或者它真的不能正常工作。

更新

正如https://stackoverflow.com/a/55861559/3165889所述,这发生在Cloud Run使用的当前Istio版本上,但应该在1.1版本中更改,默认情况下将为所有出站请求启用出口。

google-kubernetes-engine istio google-cloud-run
2个回答
0
投票

这在GKE设置文档中的Cloud Run中有记录:https://cloud.google.com/run/docs/gke/setup#enabling_outbound_network_access

这不需要很快,因为默认情况下将通过移动到Istio 1.1来启用,其中出站流量策略允许任何出口流量。


-1
投票

一种可能的解决方案是禁用默认命名空间上的istio-sidecar:kubectl label namespace default istio-injection=disabled

更多细节:https://gitlab.com/groups/gitlab-org/-/epics/1202#note_164285838

© www.soinside.com 2019 - 2024. All rights reserved.