0

我在 GKE 上设置了一个 kubernetes 环境,其中包含 6 个复制的 pod 和一个连接到启用了 Google Cloud CDN 的 GCP 负载均衡器的入口。

滚动部署如何在资产指纹识别方面发挥作用?在滚动部署正在进行并且对新资产指纹的请求被路由到还没有新资产指纹的 Pod 的情况下?如何减轻这种情况?还是 Google Cloud CDN 会处理这个问题?

本文描述了我正在考虑的情况: https ://buildingvts.com/serving-assets-while-rolling-your-deploys-c656ce6a2123

4

1 回答 1

1

这里的回复将基于与指纹散列相关的共享链接。请务必澄清资产指纹和运行时(python、ruby、nodejs)的含义,这将有助于更好地回答问题。

根据提出这个问题的方式,我怀疑容器和 Kubernetes 的使用方式存在反模式。当您询问资产而不是动态内容的路径时,我怀疑您正在启动 pod 并在开始时编译所有资产。通常,您会在图像创建时完成所有这些工作。因此,服务应该不会中断,因为他们的所有资产都是在开始时间之前预先生成的(因为我假设共享链接上的白屏是为了服务中断)。

对于手头的问题,Kubernetes 没有做任何普通负载均衡器不会做的事情。Kubernetes 5 元组哈希连接通过负载均衡器连接到节点,然后连接到 pod。一旦从 Web 浏览器创建连接,它将(可能)继续由它们的 pod 提供服务,直到连接终止。

Google Cloud CDN 中没有任何机制来确保没有中断。如果缓存中没有资产,则它必须转到一个 pod,并且该 pod 可能有也可能没有相关资产。如果资产在缓存中,那么它将在不连接到 Pod 的情况下提供它。

于 2017-12-27T15:50:24.990 回答