我在GKE上设置了kubernetes环境,其中包含6个复制的pod和一个连接到启用了Google Cloud CDN的GCP负载均衡器的入口。
滚动部署如何在资产指纹识别方面发挥作用?在滚动部署正在进行并且新资产指纹的请求被路由到尚未拥有新资产指纹的窗格的情况下?如何减轻这种影响?或者Google Cloud CDN会处理这个问题吗?
本文介绍了我所考虑的情况:https://buildingvts.com/serving-assets-while-rolling-your-deploys-c656ce6a2123
这里的回复将基于与指纹哈希相关的shared link。请通过资产指纹识别和运行时(python,ruby,nodejs)来澄清你的意思,这将有助于更好地回答这个问题。
基于这个问题的提问方式,我怀疑使用容器和Kubernetes的方式是反模式的。由于您询问了资产而不是动态内容的路径,我怀疑您正在启动您的pod并在开始时编译所有资产。通常,您会在创建图像时完成所有这些工作。因此,服务不应该中断,因为它们的所有资产都是在开始时间之前预先生成的(因为我假设共享链路上的白屏是为了服务中断)。
对于手头的问题,Kubernetes并没有做任何想象,正常的负载均衡器不能做。 Kubernetes通过负载均衡器将5个元组哈希连接到节点,然后是pod。一旦从Web浏览器创建了连接,它将(可能)继续由它们提供服务,直到连接终止。
Google Cloud CDN中没有任何机制可确保不会出现中断。如果缓存中没有资产,则必须转到容器,并且容器可能有也可能没有相关资产。如果资产位于缓存中,则它将在不连接到pod的情况下将其提供。