降低基于GKE的云运行成本

时间:2019-08-05 13:45:31

标签: google-cloud-platform google-kubernetes-engine google-cloud-run

如果我能在Google Cloud Run上回答以下问题,那将是很棒的事情

  1. 如果我创建的资源超过1vCPU的集群,这些多余的vCPU将在我的Cloud Run服务中使用,还是始终限制为1vCPU,而与我的集群配置无关。在这里的文档中-这行让我感到困惑Cloud Run为每个容器实例分配1个vCPU,并且无法更改。我知道这适用于托管Cloud Run,但它也适用于GKE上的Run吗?
  2. 如果为群集指定的资源实际上得到利用(例如,我创建了一个由n1-standard-4 15gb内存的2个节点组成的节点池),那么为什么在创建/部署到Cloud Run时要求再次选择内存在GKE上。它的意义是什么? The memory allocated dropdowon
  3. 如果Cloud Run根据流量自动从0扩展到N,为什么不能将群集中的节点数设置为0(我尝试并开始看到有关未计划的Pod的错误消息)?
  4. 我关注了custom mapping上的文档并进行了设置。我可以限制导致容器实例处理它的请求受到域名或来自它们的IP的限制吗(即使它只是通过指定Host头来人为设置,如Run docs中一样)。 curl -v -H "Host: hello.default.example.com" YOUR-IP

这样,如果我从经过验证的域之外的任何地方收到HTTP个请求,我就不会产生费用吗?

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:2)

1:云运行托管平台始终允许每个修订版1 vcpu。在gke上,也是默认设置。但是,仅对于gke,您可以使用--cpu参数覆盖  https://cloud.google.com/sdk/gcloud/reference/beta/run/deploy#--cpu

2:您能否精确地询问什么以及何时执行哪个操作?

3:感谢knative,云运行是建立在kubernetes之上的。顺便说一下,云运行负责根据流量来扩展和缩小Pod。 Kubernetes负责根据CPU和内存使用量扩展Pod和节点。机制不一样。而且,节点规模“很慢”,不能适应尖峰流量。最后,必须在群集上运行某些内容,以侦听传入的请求并正确服务/扩展Pod。这件事必须在零节点群集上运行。

4:云运行不允许对此进行配置。我认为knative也不能。但是您可以在前面部署ESP,以将请求路由到特定的云运行服务。顺便说一下,您可以先分配流量,然后将其分配给不同的服务,从而可以独立扩展。每个服务可以具有最大规模参数,不同的并发参数。 ESP可以实施速率限制。