【问题标题】:Pre pull image for new Kubernetes cluster autoscale-up Nodes新 Kubernetes 集群自动扩展节点的预拉映像
【发布时间】:2020-04-22 13:43:03
【问题描述】:

我的 pod/容器在大小约为 4GiB 的 docker 映像上运行。每当资源不足时启动新的 VM 节点时,从容器注册表中拉取映像大约需要 2 分钟。

也就是说,每当有新请求进来,Kubernetes 服务自动扩容新节点时,需要 2 分钟+。用户必须等待 2 分钟才能完成请求。 不理想。我目前正在使用 Azure AKS 来部署我的应用程序并使用他们的集群自动缩放功能。

我正在使用具有 1 个修复主 pod 和 3 个修复工作器 pod 的典型部署设置。这 3 个 worker pod 对应 3 种不同类型的请求。每次有请求进来,worker pod都会生成一个K8 Job来处理这个请求。

大问题是,我如何预先拉取图像,以便在 Kubernetes 集群中启动新节点时,用户不必等待很长时间才能准备好新作业?

【问题讨论】:

    标签: azure docker kubernetes kubernetes-pod


    【解决方案1】:

    最理想的情况是,您应该重新处理 Dockerfile 以尝试优化层大小。

    无论如何,您应该能够使用 Packer 6 构建一个预先安装了 Docker 映像的虚拟机,然后让所有其他实例以某种方式从该虚拟机启动 - https://www.packer.io/docs/builders/azure.html

    每次升级 Docker 映像时都需要重新构建 AMI

    【讨论】:

    • 天蓝色上的ami快照?
    • @4c 哎呀。谢谢
    【解决方案2】:

    如果您使用 Azure 容器注册表 (ACR) 来存储和拉取图像,则可以启用远程传送,这将显着减少图像拉取时间。更多信息请参考link

    【讨论】:

      猜你喜欢
      • 2019-07-26
      • 1970-01-01
      • 2019-10-07
      • 2018-12-04
      • 2017-09-23
      • 2019-05-26
      • 2017-07-01
      • 2017-11-20
      • 2021-01-13
      相关资源
      最近更新 更多