如何加快k8s集群的拉镜像速度

时间:2019-05-20 15:08:40

标签: docker kubernetes

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

4 个答案:

答案 0 :(得分:1)

部署个人Docker存储库。

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

答案 1 :(得分:1)

尝试减小图像的尺寸。
可以通过几种方式完成此操作,具体取决于您的项目。例如,如果您使用的是Node,则可以使用FROM node:11-alpine代替FROM node:11来缩小图像。另外,请确保没有将构建文件放入映像中。诸如C#和Java之类的语言具有单独的构建和运行时映像。例如,使用java-8-jdk来构建项目,但是使用java-8-jre来生成最终图像,因为您只需要运行时。

祝你好运!

答案 2 :(得分:1)

继续@ anskurtis-streutker答案,此页面详细说明了如何创建较小的图像。

Build smaller images - Kubernetes best practises

答案 3 :(得分:0)

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

致谢