我有一个应用程序将在群集的任何节点上启动一个Pod,但是如果该节点没有此映像,它将在第一时间下载它并花费大量时间(大约1gb,并且花费超过3分钟的下载时间),解决此类问题的最佳做法是什么?通过nfs预拉映像或共享docker映像?
答案 0 :(得分:1)
部署个人Docker存储库。
答案 1 :(得分:1)
尝试减小图像的尺寸。
可以通过几种方式完成此操作,具体取决于您的项目。例如,如果您使用的是Node,则可以使用FROM node:11-alpine
代替FROM node:11
来缩小图像。另外,请确保没有将构建文件放入映像中。诸如C#和Java之类的语言具有单独的构建和运行时映像。例如,使用java-8-jdk
来构建项目,但是使用java-8-jre
来生成最终图像,因为您只需要运行时。
祝你好运!
答案 2 :(得分:1)
继续@ anskurtis-streutker答案,此页面详细说明了如何创建较小的图像。
答案 3 :(得分:0)
您可以尝试pod disruption budget。有了它,您可以在应用程序中实现高可用性,下载时间应该不是问题。
致谢