在Google Cloud中定义Kubernetes复制控制器时,如何指定持久卷?

Eri*_*ric 6 storage google-cloud-platform kubernetes

我在文档中看到如何为pod做这个,但我想使用复制控制器来管理我的pod,确保始终有一个up.

  1. 如何定义正在运行的pod具有持久卷的复制控制器?

  2. 这与Kubernetes persistentVolumes和persistentVolumeClaims有什么关系?

小智 9

在Replication Controller中使用持久卷非常适合共享存储.您在RC的pod模板中包含persistentVolumeClaim.每个pod都将使用相同的声明,这意味着它是共享存储.如果副本计数> 1,这也适用于gcloud中的只读访问.

如果您希望每个pod具有不同的卷,则您当前必须创建许多具有Replicas = 1且具有不同persistentVolumeClaims的RC.

我们正在设计一种通过RC扩展存储的设计,其中每个pod都有自己的卷,而不是共享相同的声明.

  • 这个答案已经过去几个月了.这方面有什么新东西吗? (3认同)

小智 2

请注意,持久卷链接到节点,它们不在整个集群中共享。这可能是您没有找到有关具有持久卷的复制控制器的信息的原因。因为复制控制器不限于运行一个节点。

如果您使用的是 Google Cloud,请查看 GCEPercientVolume https://github.com/GoogleCloudPlatform/kubernetes/tree/master/docs/user-guide/persistent-volumes

另一种选择(虽然尚未准备好用于生产)是: https: //clusterhq.com/2015/04/24/data-migration-kubernetes-flocker/