【发布时间】:2019-08-31 18:15:38
【问题描述】:
我正在尝试将此 docker 映像推送到我的 PCF 环境:
https://hub.docker.com/r/jupyter/tensorflow-notebook/tags/
提取时图像为 3.9GB。
当我这样做时:
cf push jupyter-minimal-notebook --docker-image jupyter/minimal-notebook -m 8GB -k 4G
我得到错误:
应用无效:disk_quota 请求的磁盘过多(请求的 4096 MB - 必须小于 2048 MB)
应用程序获取的默认磁盘空间默认为 1024mb。这是在default_app_disk_in_mb 参数中的cloud_controller_ng 中设置的。
默认情况下,用户可以请求的最大磁盘量为 2048mb。这是在maximum_app_disk_in_mb 参数中的cloud_controller_ng 中设置的。
我相信解决方案是增加 maximum_app_disk_in_mb 的值,但是经过大量搜索后我无法弄清楚如何设置它。
我在manifest.yml中尝试了以下方法:
---
applications:
- name: jupyter-tensorflow-notebook
docker:
image: jupyter/tensorflow-notebook
cloud_controller_ng:
maximum_app_disk_in_mb: 4096
disk_quota: 4G
memory: 8G
instances: 1
这不起作用并返回相同的错误:
应用无效:disk_quota 请求的磁盘过多(请求的 4096 MB - 必须小于 2048 MB)
2019 年 9 月 3 日更新:
我没有提供足够的背景信息。我已经使用 AWS 快速入门在 AWS 上设置了一个小型 PCF 环境,因此我可以完全控制部署以调整我想要的任何参数。实际上,我是平台运营商。所以问题是,鉴于我有权对maximum_app_disk_in_mb 进行更改,我将如何去做呢?我想更改maximum_app_disk_in_mb 参数,但如果不重新部署整个环境,我看不到如何做到这一点。
要获取快速入门中使用的清单,我认为我需要执行以下操作:
bosh -e aws -d [my-deployment] manifest
据我了解,这是完整的清单。里面有很多可变参数如((cloud-controller-internal-api-user-credentials.password))等。
有没有办法在不重新部署完整清单的情况下更新maximum_app_disk_in_mb?
如果我必须重新部署完整的清单是这样做的最佳方法:
bosh -e aws -d [my-deployment] manifest > manifest.yml
然后在manifest.yml中编辑maximum_app_disk_in_mb参数值并重新部署?如果我这样做,它会获取在清单中使用变量的参数的所有值,例如((cloud-controller-internal-api-user-credentials.password))?
当我这样做时:
bosh -e aws deployments
似乎有两个部署,aws-service-broker-xxxxxxxxxxxxxxx 和 cf-xxxxxxxxxxxxxxxx(为了匿名,我用 x 替换了 id)。前者没有任何正在运行的实例,所以我想我不需要对那个进行任何更改?
【问题讨论】:
-
Is there a way to update maximum_app_disk_in_mb without redeploying the complete manifest?-> 是和不是。您可以随时 ssh 进入云控制器并调整配置文件monit restart云控制器进程,它会应用您的更改。但是,除了重新创建您的云控制器 VM 之外,这不会持续存在。要使更改生效,您需要编辑部署清单和bosh deploy。 -
If I do this will it pick up on all the values for parameters that are using variables in the manifest such ((cloud-controller-internal-api-user-credentials.password))?-> 您可能需要在bosh deploy时指定值,或者它可能会从 CredHub 中提取它们,这取决于您的设置方式。我不知道 AWS 快速入门,所以我不知道它是如何配置的。对不起。 -
你现在问的是一个完全不同的问题。您应该打开一个新的 SO 帖子。
标签: docker cloud-foundry