Ограничение памяти при запуске в облаке
Как получить контейнер 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
,