Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
Kubernetes 如何使用GKE管理文件上载?_Kubernetes_Symfony_Google Kubernetes Engine - Fatal编程技术网

Kubernetes 如何使用GKE管理文件上载?

Kubernetes 如何使用GKE管理文件上载?,kubernetes,symfony,google-kubernetes-engine,Kubernetes,Symfony,Google Kubernetes Engine,多亏了Google容器引擎(GKE),我正试图用kubernetes运行一个api(基于Symfony)。 这个API还允许用户存储和下载文件,这些文件应该保存在某个地方 我尝试使用1个副本运行它,并注意到在创建新容器的过程中服务停机。看起来至少需要两个副本来避免停机 考虑到这一点,我对以下选项感兴趣: 基于Google持久磁盘的卷。这是否意味着我的所有副本都将位于同一节点上?(读写访问模式)。如果是这样,在节点故障的情况下,我的服务将不可用 基于Flocker(后端持久磁盘)的卷。在GKE上

多亏了Google容器引擎(GKE),我正试图用kubernetes运行一个api(基于Symfony)。 这个API还允许用户存储和下载文件,这些文件应该保存在某个地方

我尝试使用1个副本运行它,并注意到在创建新容器的过程中服务停机。看起来至少需要两个副本来避免停机

考虑到这一点,我对以下选项感兴趣:

  • 基于Google持久磁盘的卷。这是否意味着我的所有副本都将位于同一节点上?(读写访问模式)。如果是这样,在节点故障的情况下,我的服务将不可用
  • 基于Flocker(后端持久磁盘)的卷。在GKE上安装它的推荐方式是什么
还有其他有趣的选择吗?您有什么建议?

使用GCS(如tex所述)可能是最简单的解决方案(从GKE集群可以非常快地实现)。这是

如果您对本地持久性存储有特殊需求,您可以使用Google持久性磁盘,但它们只能作为可写磁盘安装在一个位置


(目前为alpha)将为分布式持久集群存储提供更好的支持,因此,如果GCS不适合您,您也可以研究一下。

为什么不将文件放入Google云存储?因此,您可以运行任意数量的副本,而不必再关心本地存储。我尝试了GCS解决方案。我不得不进行修改,使其与更新的谷歌api/guzzle版本兼容。事实上,我还有其他依赖项在处理guzzle的最新版本。我在本地测试时性能很差,但我认为这是由于Gaufrete进行了多个API调用。使用此GCS选项,图像的url是否应该直接指向GCS服务器?还是应该先通过我的API?关于Petset,这是“官方”推荐的处理此类需求的方法吗?Petset提供了管理分布式持久存储的原语,但很可能会在Petset之上构建一些东西,以提供更简单的存储抽象(例如)。