如何在Kubernetes中缓存来自我的服务的HTTP响应?
我的集群中有一个简单的web服务,我想知道如何缓存静态资产(静态html、图像、字体等)。而不是依赖客户端缓存。
我的设置非常简单:
┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ ingress-nginx ├────► svc ├───► deployment │
│ │ │ │ │ │
└─────────────────┘ └─────────────┘ └─────────────────┘我已经考虑过的选择:
我很好奇:人们是如何在集群中解决这个问题的?
发布于 2022-04-02 15:47:51
如何在Kubernetes中缓存来自我的服务的HTTP响应?
您始终可以通过nginx.ingress.kubernetes.io/server-snippet注释来设置自定义的nginx配置。为此,您可能需要添加几个与proxy_cache相关的配置。
如何缓存静态资产(静态html、图像、字体等)而不是依赖客户端缓存。
分离应用程序和静态资产。
用Kubernetes存储和运行应用程序,并将静态资产存储在支持公共文件访问的其他地方。
然后,您可以使用任何CDN将静态资产交付给您的客户,而不给您的Kubernetes应用程序增加负担。
发布于 2023-03-08 11:54:06
我们将K8s-入口,又名维京作为一个基于清漆的入侵控制器,它将入口控制器功能与清漆-缓存必须提供的任何东西集成在一起,缓存就是其中之一。
Viking默认使用内建VCL,所以如果您的服务生成适当的缓存-控制头,缓存就应该是开箱即用的。如果没有,则可以使用自定义VCL进行细粒度控制。
https://serverfault.com/questions/1096921
复制相似问题