【问题标题】:Cloud Run Memory RestrictionCloud Run 内存限制
【发布时间】:2019-10-14 13:03:25
【问题描述】:

如何在自定义 GKE 集群上运行使用超过 2 GB 的 Cloud Run 容器?

由于 Cloud Run 使用 knative,我想知道是否可以调整具有更多分配/允许内存限制的部署描述符以在 GKE 上运行它。

apiVersion: serving.knative.dev/v1alpha1
kind: Revision
metadata:
 ...

【问题讨论】:

    标签: google-cloud-platform serverless google-cloud-run


    【解决方案1】:

    如何获得使用超过 2 GB 运行的 Cloud Run 容器 自定义 GKE 集群?

    您可以为 Cloud Run Managed 中的容器分配的最大内存为 2 GB。

    [更新]

    对于 Cloud Run on Kubernetes,您可以请求更多内存:

    gcloud beta run deploy --image gcr.io/cloudrun/hello --memory=4G --cluster ha-cluster-1
    

    由于 Cloud Run 使用的是 knative,我想知道是否可以调整 具有更多分配/允许运行的内存限制的部署描述符 它在 GKE 上。

    Cloud Run Managed 不在 Knative 中运行,它在 gVisor 中运行。我写了一篇文章,描述了 Cloud Run 基础架构以及 Cloud Run Managed 和 Cloud Run on Kubernetes 公开的 Knative API here。但是,即使直接访问 Cloud Run Knative API,您也无法绕过强加的服务限制。

    Cloud Run 的目的是通过抽象出底层基础架构的实现细节来简化部署。在某些情况下,您应该直接部署到 Kubernetes。

    【讨论】:

    • Cloud Run(全托管)现在支持 8GB 内存cloud.google.com/run/quotas#cloud_run_limits
    • @DonnaldCucharo - 谢谢。我已经更新了我的答案,其中包含提到增加至 8 GB 的发行说明的链接。
    • 16 gibibyte 现已推出
    【解决方案2】:

    正如您所说,当您在 GKE 上使用 Cloud Run 时,您使用的是 Knative 服务堆栈,它允许您像 Kubernetes 一样配置自定义 CPU 和内存请求/限制:https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

    例如,要获得 4 GiB 内存,您必须添加如下字段:

    resources:
      limits:
        memory: "4GiB"
    

    到您在 Knative Service 规范中的 container: 字段。

    在 Knative 0.6(服务于 v1beta1)中,此字段的路径将是 Service.spec.template.spec.containers[*].resources 字段,在早期版本中(服务于 v1alpha1)类似于Service.spec.runLatest.revisionTemplate.spec.container.resources

    【讨论】:

      猜你喜欢
      • 2020-09-16
      • 2020-03-31
      • 2023-02-25
      • 2019-10-27
      • 2023-01-20
      • 1970-01-01
      • 2021-07-22
      • 2019-07-07
      • 2022-10-23
      相关资源
      最近更新 更多