Ограничение памяти при запуске в облаке

Как получить контейнер Cloud Run, который использует более 2 ГБ, запускается в пользовательском кластере GKE?

Поскольку Cloud Run использует knative, мне интересно, можно ли настроить описатель развертывания с более ограниченным выделенным / разрешенным объемом памяти, чтобы запускать его в GKE.

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

2 ответа

Решение

Как получить контейнер Cloud Run, который использует более 2 ГБ, запускается в пользовательском кластере GKE?

Максимальный объем памяти, который вы можете выделить для контейнера в Cloud Run, составляет 2 ГБ.

Для Cloud Run в Kubernetes вы можете запросить больше памяти:

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

Поскольку Cloud Run использует knative, мне интересно, можно ли настроить описатель развертывания с более ограниченным выделенным / разрешенным объемом памяти, чтобы запускать его в GKE.

Цель Cloud Run - упростить развертывание путем абстрагирования от деталей реализации. Knative не доступен для вас таким образом, чтобы вы могли взаимодействовать с общедоступными интерфейсами или управлять ими.

Вы всегда можете развернуть прямо в Kubernetes.

Как вы сказали, когда вы используете Cloud Run в GKE, вы используете обслуживающий стек Knative, который позволяет настраивать пользовательские запросы и ограничения ЦП и памяти точно так же, как Kubernetes: https://kubernetes.io/docs/concepts/configuration / управление-вычислительные ресурсы, контейнер /

Например, чтобы получить 4 ГиБ памяти, вы должны добавить поле вроде:

resources:
  limits:
    memory: "4GiB"

на ваш container: поле в Knative Service спекуляция

В Knative 0.6 (обслуживающий v1beta1) путь этого поля будет Service.spec.template.spec.containers[*].resources поле, в более ранних версиях (обслуживающих v1alpha1) что-то вроде Service.spec.runLatest.revisionTemplate.spec.container.resources,

Другие вопросы по тегам