Flask,谷歌库伯内特集群+D

2024-04-20 16:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在有个问题,我真的不知道发生了什么。在Google云上,我有一个包含两个实例的集群。使用Kubernetes,我有两个pods在运行,每台机器上一个。当我使用持久化用户登录到应用程序(使用LoadBalancer服务的ExternalIP)时,有时它会直接失败并重定向到我的主页。其他时候它会让我登录。在

但是,如果我把我的应用程序缩小到一个虚拟机和一个吊舱,它可以正常工作,每次都会让我登录。我不认为这是我的申请问题。就像当我尝试登录时,我在一台机器上,当我执行请求时,负载平衡器选择另一台机器,它无法登录我,然后有时它运气好,连续两次得到同一台机器。我甚至不知道这是否真的有可能,这只是我看起来的样子,但我还是对这一切很陌生。在

https://github.com/tnolan8/CA674-Cloud-Architecture->;这是包含我的应用程序+我的部署脚本的repo。在

这是我实际的部署脚本:deployment.yml

我不知道到底是什么原因造成的。有什么想法吗?在


Tags: 实例用户脚本机器应用程序部署google集群
1条回答
网友
1楼 · 发布于 2024-04-20 16:20:18

TL;DR 似乎您正在使用sqlalchemy将您的“database”状态存储在 磁盘。在

您应该创建一个数据库部署并更改配置以使用该数据库。在

详细信息:

  1. 当你在使用你想要扩展和缩小的容器时,你不应该使用磁盘,因为不同的容器会有不同的状态(container1认为你已经登录,container2认为你没有,因为它的磁盘没有这些数据)
  2. 容器应该能够适应频繁的重新启动。这意味着您不应该在磁盘上存储重新启动后需要的任何内容。如果您确实需要,应该查看容器的persistent volumes。但是,当您需要更改容器经常使用的副本数量时,需要谨慎使用pv。在

相关问题 更多 >