我正在尝试将此 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
我得到错误:
The app is invalid: disk_quota too much disk requested (requested 4096 MB - must be less than 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
这不起作用并返回相同的错误:
The app is invalid: disk_quota too much disk requested (requested 4096 MB - must be less than 2048 MB)
2019 年 9 月 3 日更新:
我没有提供足够的背景信息。我已经使用 AWS Quickstart 在 AWS 上设置了一个 Small Footprint PCF 环境,因此我可以完全控制部署以调整我想要的任何参数。实际上我是平台运营商。所以问题是,鉴于我有权对 maximum_app_disk_in_mb
进行更改,我将如何去做呢?我想更改 maximum_app_disk_in_mb
参数,但不知道如何在不重新部署整个环境的情况下执行此操作。
为了获得在 Quickstart 中使用的 list ,我认为我需要执行以下操作:
bosh -e aws -d [我的部署] list
据我了解,这是完整的 list 。其中有很多可变参数,比如((cloud-controller-internal-api-user-credentials.password))
等
有没有办法在不重新部署完整 list 的情况下更新 maximum_app_disk_in_mb
?
如果我必须重新部署完整的 list ,最好的方法是:
bosh -e aws -d [my-deployment] manifest > manifest.yml
然后编辑 manifest.yml
中的 maximum_app_disk_in_mb
参数值并重新部署?如果我这样做,它会获取使用 list 中变量的参数的所有值,例如 ((cloud-controller-internal-api-user-credentials.password))
?
当我这样做时:
bosh -e aws 部署
似乎有两个部署,aws-service-broker-xxxxxxxxxxxxxxxxxx
和 cf-xxxxxxxxxxxxxxxxxxxx
(为了匿名,我将 id 替换为 x)。前者没有任何正在运行的实例,所以我想我不需要对那个进行任何更改?
最佳答案
首先让我说,作为 Cloud Foundry 的开发人员/最终用户,您无法更改系统级组件 Cloud Controller 中的设置。只有您的接线员可以做到这一点。
如果您可以更改 Cloud Controller 中的设置,那将使 Cloud Controller 和您的平台运营商设置的所有限制失效,因为您可以将它们设置为您想要的最高值。
Cloud Controller 会设置一个默认的磁盘大小,如果你不设置它就会生效,它会设置一个最大磁盘大小,这会限制你在基础上消耗过多的磁盘并影响其他用户。
除了指定大磁盘配额(尝试 cf push -k 99999G
)和看着回应。
从您的回复中可以看出,Cloud Controller 会在错误消息中告诉您最大允许值。在您的情况下,它最多允许 2G。
The app is invalid: disk_quota too much disk requested (requested 4096 MB - must be less than 2048 MB)
要获得超过 2G 的磁盘,除了写信给您的平台运营商并要求他们增加此值之外,您无能为力。如果这是您公司的平台,那么这可能是最佳选择。
如果您使用的是公共(public)提供商,那么您最好考虑一下其他提供商。您可以使用多个经过认证的公共(public)提供商。请在此处查看列表 -> https://www.cloudfoundry.org/thefoundry/
希望对您有所帮助!
关于docker - 如何将大型 docker 镜像部署到 Pivotal Cloud Foundry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57740576/