如何在新的 GKE 节点上缓存大型 docker 镜像?



当 GKE 创建一个新节点作为其自动缩放器的一部分时,我如何确保这个新节点能够快速访问大型 docker 映像?其中一个 docker 映像大小为 15GB,我有一个使用该映像的部署。以某种方式将此映像缓存到新节点上会很好,这样就不必在每次启动新节点时都拉取它!

在这种情况下,我建议您使用容器注册表,因为无法在新创建的工作器节点上自动在本地提供映像(例如,作为节点自动缩放过程的结果出现(。如果决定不使用容器注册表,则需要手动将此类映像上传到每个新创建的节点,这可能是一项繁琐的任务。

以某种方式将此图像缓存到新节点上会很好,这样它就不会 每次启动新节点时都必须拉动!

因此,不幸的是,当启动新节点时,它必须至少被拉一次。之后可能会缓存它,即第一次从GCR中提取它。

正如你可以在这里读到的:

默认拉取策略为IfNotPresent,这会导致 Kubelet 如果映像已存在,请跳过拉取映像。

因此,您不必执行任何特定的操作来确保您的图像在拉取后在本地缓存,因为这是默认行为。

最新更新