【问题标题】:How to speed up pulling image speed for k8s clusterk8s集群如何加快拉图速度
【发布时间】:2019-05-21 17:31:47
【问题描述】:

我有一个应用程序会在集群的任何节点上启动一个 pod,但是如果该节点没有这个镜像,它会第一次下载它并且需要很多时间(大约 1gb,需要下载图像超过 3 分钟),解决此类问题的最佳做法是什么?通过 nfs 预拉镜像或共享 docker 镜像?

【问题讨论】:

  • “很多时间”有多长?你的图片有多大?
  • 更新帖子以包含图片大小和下载时间

标签: docker kubernetes


【解决方案1】:

部署个人 docker 存储库。

https://docs.docker.com/registry/deploying/

【讨论】:

    【解决方案2】:

    尝试缩小图像的大小。
    这可以通过几种方式完成,具体取决于您的项目。例如,如果您使用的是 Node,则可以使用 FROM node:11-alpine 而不是 FROM node:11 以获得明显更小的图像。另外,请确保您没有将构建文件放入映像中。 C# 和 Java 等语言具有单独的构建和运行时映像。例如,使用java-8-jdk 构建您的项目,但使用java-8-jre 作为您的最终图像,因为您只需要运行时。

    祝你好运!

    【讨论】:

      【解决方案3】:

      继续@anskurtis-streutker 的回答,此页面详细解释了如何创建更小的图像。

      Build smaller images - Kubernetes best practises

      【讨论】:

        【解决方案4】:

        你可以试试pod disruption budget。有了它,您可以在您的应用中实现高可用性,并且下载时间应该不是问题。

        问候

        【讨论】:

        • 问题是关于减少拉取容器镜像所花费的时间。我不确定吊舱中断预算将如何提供帮助。你能解释一下吗?
        • 您说的是下载映像的时间,这只影响您部署新版本或首次部署时。如果您为您的客户提供服务,您需要为他提供服务保证。如果您可以保证服务已启动,则下载的大小或时间无关紧要。
        猜你喜欢
        • 2019-09-30
        • 1970-01-01
        • 1970-01-01
        • 2013-09-04
        • 1970-01-01
        • 1970-01-01
        • 2018-04-23
        • 2016-11-20
        • 2015-01-09
        相关资源
        最近更新 更多