问题标签 [persistent-volume-claims]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
755 浏览

postgresql - 为另一个 PersistentVolumeClaim 重用 Persistent Volume

我在 Kubernetes 上使用 rookio 和 CoreOS 来动态创建持久卷。

所以我创建了一个 PersistentVolumeClaim ( kubectl create -f postgres-pvc.yaml) 并为持久卷回收策略应用一个补丁来保留。我做了一个"kubectl get pv",我可以看到一个动态创建的持久化卷并被绑定。现在,当我删除 PersitentVolumeClaim 时,状态变为已发布。

我在那个持久化卷中存储了一些宝贵的数据。有没有办法可以重用已进入已发布状态的持久卷?

谢谢-索南

0 投票
5 回答
28946 浏览

kubernetes - Kubernetes NFS 持久卷 - 同一卷上的多个声明?索赔停滞不前?

用例:

我有一个可用的 NFS 目录,我想用它来为多个部署和 pod 保存数据。

我创建了一个PersistentVolume

我希望多个部署能够使用它PersistentVolume,所以我对所需要的理解是我需要创建多个PersistentVolumeClaims都指向这一点PersistentVolume

我相信这会在PersistentVolume. 当我运行时kubectl get pvc,我看到:

我不明白为什么我看到的是 10Gi 容量,而不是 50Mi。

然后,当我更改PersistentVolumeClaim部署 yaml 以创建名为 PVC时,nfs-pvc-2我得到以下信息:

PVC2 从不绑定到 PV。这是预期的行为吗?我可以有多个 PVC 指向同一个 PV 吗?

当我删除nfs-pvc-1时,我看到了同样的事情:

再次,这是正常的吗?

在多个部署/吊舱之间使用/重用共享 NFS 资源的适当方法是什么?

0 投票
11 回答
79049 浏览

kubernetes - Kubernetes 永久卷声明无限期处于待处理状态

我创建了一个来自 Google Compute Engine 永久磁盘的 PersistentVolume,我已经格式化并提供了数据。Kubernetes 说 PersistentVolume 可用。

然后我创建了一个 PersistentVolumeClaim,以便我可以将此卷附加到跨多个节点的多个 pod。但是,kubernetes 无限期地表示它处于待处理状态。

有什么见解吗?我觉得选择器可能有问题......

是否有可能预先配置一个带有数据的永久磁盘,并让跨多个节点的 pod 都能够从中读取?

0 投票
1 回答
125 浏览

kubernetes - Kubenetes 上的持久卷声明的延迟是否会使我的服务不可用?

为什么在 kubernetes pod 中挂载 GCE 卷会导致延迟?是:

但是当 pod 有一个 GCE 持久卷挂载时,运行状态会在 20 到 60 秒之间达到。

例如,在进行滚动部署时,这是否意味着有 20-60 秒的服务不可用?

0 投票
1 回答
3504 浏览

kubernetes - Kubernetes 未声明持久卷 - “由于 PersistentVolumeClaim 未绑定而失败:“task-pv-claim”,这是意外的。”

我不确定为什么没有声明持久卷,或者我可以采取哪些步骤来进一步诊断?

声明大小是否应该与卷大小匹配?卷大小是否应该与 GCP 卷大小匹配?

这很难测试和弄清楚......

我的目标是能够创建一个带有单个副本的 Wordpress 实例,只要它支持滚动部署......

输出kubectl get pods

输出kubectl describe pods

输出kubectl get pvc

输出kubectl get pv

生产.yaml

pVolume.yaml

pVolumeClaim.yaml

0 投票
1 回答
1564 浏览

kubernetes - 在 ReadWriteMany 模式下,多个 pod 可以挂载/声明 GCP 永久磁盘吗?

我有一个永久性磁盘 (GCP),我希望能够允许对多个 pod 进行读写访问。

这可能吗?这是我的两个配置:

pVolume.yaml

pVolumeClaim.yaml

使用上述配置,我在我的 pod 上看到以下错误:

这发生在副本计数设置为 2 时。

0 投票
2 回答
2023 浏览

mongodb - 我可以在 Kubernetes Statefulset 的 volumeClaimTemplate 中使用现有的 GCE 永久磁盘吗

我正在使用 Google Container Engine 为 MongoDB 副本集(3 个副本 pod)运行 StatefulSet。

这适用于持久存储的动态配置——即在创建有状态集时为每个 pod 配置新存储。

但是,如果我重新启动 StatefulSet,我似乎无法重新绑定旧的持久卷,因为将再次配置新的存储。这意味着数据丢失。理想情况下,持久性存储应该在 Kubernetes 集群本身被删除后仍然存在,数据会保留下来并准备好在新集群中再次使用。

有没有办法创建 GCE 持久磁盘并在 StatefulSet 的持久卷声明中使用它们?

[2017 年 9 月 20 日更新]

找到答案: 这就是解决方案(归功于@RahulKrishnan RA)

  1. 创建一个存储类,指定底层磁盘类型和区域

  2. 创建一个 PersistentVolume 指定上面创建的存储类,并引用您要挂载的永久磁盘

  3. 创建一个 PersistentVolumeClaim。命名 PVC 很重要<pvc template name>-<statefulset name>-<ordinal number>。(正确的名称是诀窍!)将volumeName指定为上面创建的PV和存储类。
  4. 创建与具有正确名称的副本一样多的 PV 和 PVC。
  5. 使用 PVC 模板创建 statefulSet。
0 投票
1 回答
18658 浏览

kubernetes - 我可以依赖 volumeClaimTemplates 命名约定吗?

我想在启用本地 PV的裸元 kubernetes 1.7 中设置一个预定义的 PostgreSQL 集群。我有三个工作节点。我在每个节点上创建本地 PV 并成功部署有状态集(使用一些复杂的脚本来设置 Postgres 复制)。

但是我注意到在volumeClaimTemplates 和PersistentVolumeClaim 之间有一种命名约定。例如

创建的 pvc 是pgvolume-postgres-0, pgvolume-postgres-1, pgvolume-postgres-2.

有点棘手,我手动创建 PVC 并通过选择器绑定到目标 PV。我再次测试有状态集。看来有状态集很乐意使用这些 PVC。

我成功地完成了我的测试,但我仍然有这个问题。我可以依赖 volumeClaimTemplates 命名约定吗?这是一个未记录的功能吗?

0 投票
2 回答
20917 浏览

kubernetes - Kubernetes:是否可以将卷挂载到作为 CronJob 运行的容器上?

我正在尝试创建一个 Kubernetes CronJob 来每分钟运行一个应用程序。

一个先决条件是我需要将我的应用程序代码放到 CronJob 中运行的容器上。我认为最好的方法是使用持久卷,pvclaim,然后定义卷并将其安装到容器中。我已经使用在 Pod 中运行的容器成功地做到了这一点,但在 CronJob 中似乎是不可能的?这是我尝试的配置:

对应的错误:

错误:验证“cron-applications.yaml”时出错:验证数据时出错:发现 v2alpha1.CronJobSpec 的无效字段卷;如果您选择忽略这些错误,请使用 --validate=false 关闭验证

我找不到任何资源表明这是可能的。那么,如果不可能,如何解决将应用程序代码放入正在运行的 CronJob 的问题?

0 投票
1 回答
9158 浏览

kubernetes - 如何重用现有的持久卷声明

我已经删除了我的 elasticsearch 集群,但是现在在我部署了一个新集群之后,我需要访问存储在 3 个持久卷 PV 上的旧数据,如下所述:

这是旧 PV 声明的描述:

我的新部署描述如下:

将我的 pod 与 Loadblance 服务连接后,我没有找到任何文档。我错过了什么吗?以及如何在同一个 POD 中使用三个 PV。