如何更新部署在GKE上的Flask应用程序的每个实例的本地文件



我在GKE上部署了一个Flask应用程序,在几个pod中重复。对于性能问题,我希望此应用程序从应用程序存储库读取本地文件。我需要经常用另一个Python脚本更新这些文件。

我可以实现一个端点来从服务器获取刷新的文件,但如果我ping这个端点,只有一个pod会更新本地文件,并且我需要所有应用程序实例从最新的数据文件中读取。

你对如何解决这个问题有想法吗?

有多种解决方案,最好的解决方案是为这些文件设置一个共享NFS卷:Flask Pods以只读方式装载它,Python脚本以读写方式装载它并更新文件。

NFS卷允许将现有的NFS(网络文件系统(共享装载到Pod中。与emptyDir不同,后者在移除Pod时会被擦除,NFS卷的内容会被保留,而该卷只是被卸载。这意味着NFS卷可以预先填充数据,并且数据可以在pod之间共享。

参考链接在GKE上创建kubernetes NFS卷及其优势。

最新更新