Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Kubernetes:如何使用多个副本管理数据?_Database_Kubernetes_Replication_Google Kubernetes Engine - Fatal编程技术网

Database Kubernetes:如何使用多个副本管理数据?

Database Kubernetes:如何使用多个副本管理数据?,database,kubernetes,replication,google-kubernetes-engine,Database,Kubernetes,Replication,Google Kubernetes Engine,我目前正在学习Kubernetes,我被困在如何处理以下情况: 我有一个Spring Boot应用程序,可以处理用户上传的文件(照片、pdf等),用户也可以下载这些文件。此应用程序还生成分布到6个不同文件中的日志。为了让我的生活更轻松,我决定让根目录包含2个子目录(1个目录用于用户数据,1个目录用于日志),这样应用程序只能使用1个目录(appData) 我想使用GKE(Google Kubernetes Engine)部署此应用程序,但我有以下问题: 如何处理将同时读取/写入appData目录

我目前正在学习Kubernetes,我被困在如何处理以下情况:

我有一个Spring Boot应用程序,可以处理用户上传的文件(照片、pdf等),用户也可以下载这些文件。此应用程序还生成分布到6个不同文件中的日志。为了让我的生活更轻松,我决定让根目录包含2个子目录(1个目录用于用户数据,1个目录用于日志),这样应用程序只能使用1个目录(
appData

我想使用GKE(Google Kubernetes Engine)部署此应用程序,但我有以下问题:

  • 如何处理将同时读取/写入
    appData
    目录中的数据+日志的多个副本?
  • 关于日志,是否可能有多个POD写入同一个文件
  • 假设我们有3个副本(Pod-A、Pod-B和Pod-C),如果用户A上传了一个由Pod-B处理的文件,如果同一用户稍后请求该文件,Pod-A和Pod-C将如何发现该文件
  • 每个复制副本都应该有自己的卷吗?(我希望避免这种情况,在使用StatefulSet时似乎就是这样)
  • 我应该只有一个复制品吗?(在这种情况下,使用Kubernetes将毫无用处)
关于数据库副本的同样问题。 我使用PostgreSQL,我有同样的问题。如果我们有多个副本,因为请求会随机发送到副本,如何确保请求的数据将返回结果


我知道有很多问题。非常感谢您的澄清。

您可以在GKE(Google Kubernetes引擎)中使用NFS的持久卷来跨POD共享文件。
我会为日志和共享文件提供两种不同的解决方案

对于日志,请查看类似fluentd的日志聚合器


对于共享文件系统,您需要NFS。看看这个例子:。NFS将使用来自GKE、Azure或AWS的持久卷。这本身不是云不可知论,但如果您想在不同的云中工作,您唯一要更改的是您的Provisionier。

感谢您的建议,但链接假定我们创建了一个FileStore实例。我希望应用程序尽可能与云提供商无关。那么数据库呢?您需要使用持久卷在POD之间共享状态。对于数据库,也可以使用主从结构。关于数据库,请参阅“非常感谢”,我看了一下并让您了解数据库,我将使用一个云SQL实例快速启动。稍后,当我了解如何在Kubernetes中配置这种体系结构时,我将迁移到主/冷却壁体系结构。
.appData
     |__ usersData
     |__ logsFile