问题标签 [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 回答
282 浏览

azure - Azure ACS AzureFile 动态持久卷声明

我正在尝试使用我用 azure-file 类型定义的存储类动态配置存储。我尝试在 storageclass 中为 storageAccount 和 skuName 设置两个参数。这是我设置了 storageAccount 的示例。

存储类已成功创建,但是当我尝试使用此存储类创建持久卷声明时,持久卷创建失败并出现以下错误:

这是我的 persistentvolumeclaim 的代码

我的 storageaccount 绝对与我的 acs 集群位于同一资源组和数据中心位置。我的理解是应该自动生成一个秘密的、持久的卷和文件共享。相反,我只是陷入了带有上述错误的挂起状态。

这是我的 kubectl version 命令的输出

任何输入将不胜感激。谢谢!

0 投票
1 回答
8350 浏览

kubernetes - 安装的 nfs 卷的 Kubernetes 权限被拒绝

以下是使用的k8s定义:

现在 nfs-busybox 中的 /mnt 目录应该有 2000 作为 gid(根据docs)。但它仍然有 root 和 root 作为用户和组。由于应用程序以 1000/2000 运行,因此无法在 /mnt 目录中创建任何日志或数据。

chmod 可能会解决这个问题,但它看起来像解决方法。有什么永久的解决方案吗?

观察:如果我用其他一些 PVC 替换 nfs,它的工作正常,如docs中所述。

0 投票
2 回答
3327 浏览

azure - Kubernetes AKS 持久卷磁盘声明到多个节点

如何将 100GB 持久卷磁盘附加到 AKS Kubernetes 群集中的每个节点?

我们使用 AKS 在 Azure 上使用 Kubernetes。

我们有一个场景,我们需要将持久卷附加到 AKS 群集中的每个节点。我们在集群中的每个节点上运行 1 个 Docker 容器。

动态附加卷的原因是增加每个 Docker 容器完成其工作所需的可用 IOPS 和可用存储量。

在每个 Docker 容器内运行的程序处理非常大的输入数据文件 (10GB) 并写出更大的输出文件 (50GB)。

我们可以挂载 Azure 文件共享,但 Azure 文件共享被限制为 60MB/ps,这对我们来说太慢了,无法处理这么多原始数据。在 Docker 映像中运行的程序完成后,会将输出文件 (50GB) 移动到 Blob 存储。所有容器的所有输出文件的总和可能超过 1TB。

我在想,如果我们可以将持久卷附加到每个节点,我们就可以增加可用磁盘空间以及 IOPS,而无需使用高 vCPU/RAM 虚拟机配置(即 DS14_v2)。我们的程序比 CPU 更密集 I/O。

Pod 中运行的所有 Docker 镜像都完全相同,它们从队列中读取消息,告诉它要处理的特定输入文件。

我按照文档创建了一个 StorageClass、Persistent Volume Claims 和 Persistent Volume,并针对 1 个 POD 运行它。https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv

但是,当我创建部署并将 Pod 数量从 1 扩展到 2 时,我收到错误消息(在生产中,我们会根据需要扩展到尽可能多的节点 ~100)

卷“pvc-784496e4-869d-11e8-8984-0a58ac1f1e06”的多附加错误卷已被 Pod 使用 pv-deployment-67fd8b7b95-fjn2n

我意识到 Azure 磁盘只能附加到 SingleNode (ReadWriteOnce) 但是我不确定在加载 Kubernetes 集群并开始工作时如何创建多个磁盘并将它们附加到每个节点。

持久卷声明:

这是我的部署:

如果我知道我要扩展到 100 个节点,我是否必须创建一个包含 100 个部署的 .yaml 文件并明确让每个部署使用特定的卷声明?

例如,在我的卷声明中,我将拥有 azure-claim-01、azure-claim-02 等,并且在每个部署中,我必须对每个命名的卷声明进行声明


我无法完全理解如何动态地完成所有这些工作?

你能推荐一个更好的方法来达到预期的结果吗?

0 投票
12 回答
111056 浏览

kubernetes - Kubernetes:无法删除 PersistentVolumeClaim (pvc)

我通过调用创建了以下持久卷

kubectl create -f nameOfTheFileContainingTheFollowingContent.yaml

在此之后,我尝试删除 pvc。但是这个命令卡住了。打电话时kubectl describe pvc pv-monitoring-static-content-claim我得到以下结果

而对于kubectl describe pv pv-monitoring-static-content

没有运行使用持久卷的 pod。谁能给我一个提示,为什么 pvc 和 pv 没有被删除?

0 投票
0 回答
329 浏览

kubernetes - 无法将大文件上传到持久卷

我创建了一个持久卷,声明 (10Gi) 并安装在一个 pod 上。下面是 YAML 文件。 YAML 文件

我的意图是将一个大文件上传到持久卷

我预计挂载路径应该是 10Gi(截至 PV)。相反,它是 4KB。因此我无法上传大文件。

以下是我尝试上传大文件时的错误:

我猜这是因为目录没有空间。知道我做错了什么吗?任何帮助,将不胜感激。

0 投票
1 回答
621 浏览

kubernetes - 在 Kubernetes 中共同定位 pod 和持久卷

我有一个分布在两个区域 A 和 B 的 kubernetes 集群。我使用 nfs 卷进行持久存储。我在两个区域都有 nfs 卷。我正在创建一组有状态的 2 个副本,这些副本将分布在这些区域中(我使用 pod 反亲和性来实现这一点)。现在我希望 A 区中的 Pod 使用 A 区中的卷,而 B 区中的 Pod 使用 B 区中的卷。

我可以将标签添加到持久卷,并将持久卷声明与这些标签相匹配。但是如何确保 pod 的 pvc 不会绑定到另一个区域中的 pv?

0 投票
2 回答
1284 浏览

kubernetes - 缩小时自动删除PVC?

当我缩减实例数量时,我正在寻找一种方法来自动删除分配给 StatefulSet 的 Pod 的 PersistentVolumeClaims。有没有办法在 k8s 中做到这一点?我还没有在文档中找到任何内容。

0 投票
1 回答
100 浏览

kubernetes - PersistentVolume 标记为已绑定但在容器中不可见

我从 GKE(以及一般的 kubernetes)开始,我想使用 gcePersistentDisk 在 pod 上安装持久卷。

我首先在 Compute Engine 中创建了一个 Persistent Disk(项目数据),然后创建了一个 PersistentVolume 和一个 PersistentVolumeClaim,如下所示:

应用此配置后,我在 GKE/Storage 中看到我的 PVC 已“绑定”,但我找不到在 myapp 中访问我的卷的方法。

我尝试通过添加以下内容在控制台中编辑部署 yaml:

...但是控制台拒绝了这种修改(似乎禁止这种编辑)。

如何最终将我的 PersistentVolume 视为我的应用程序中的文件系统?

0 投票
1 回答
2105 浏览

kubernetes - NFS 卷的 PersistentVolumeClaim 挂起

需要对yaml以下内容进行哪些具体更改才能使PersistentVolumeClaim绑定到PersistentVolume

与 Kubernetes 工作程序节点位于同一 VPC 子网中的 EC2 实例的 IP 为 10.0.0.112,并且已配置为在 /nfsfileshare 路径中充当 NFS 服务器。

创建持久卷

我们创建了一个 PersistentVolume pv01 pv-volume-network.yaml

并输入:

然后当我们键入 时kubectl get pv pv01pv01PersistentVolume 显示“可用”的状态。

创建 PersistentVolumeClaim

然后我们创建了一个名为 `` 的 PersistentVolumeClaim pv-claim.yaml

通过键入:

状态待定

但是当我们输入 时kubectl get pvc my-pv-claim,我们看到 STATUS 是 Pending。只要我们继续检查,状态就会一直处于待处理状态。

请注意,此 OP 与此其他问题不同,因为即使在 NFS IP 和路径周围加上引号,此问题仍然存在。

为什么这个 PVC 没有绑定到 PV?需要做出哪些具体的改变来解决这个问题?

0 投票
1 回答
394 浏览

openshift - OpenShift3 持久卷声明

背景:

我已经在 openshift 平台上部署了一个 spring boot 应用程序,并且想知道如何处理 OpenShift3 中的持久存储。我已订阅免费计划并可以访问控制台。我可以使用 oc 命令,但在我的用户下,对于“oc get pv”等命令的访问权限似乎有限。

问题

如何更好地控制 OS3 上的 pvc(持久存储声明)?理想情况下,我想要一个外壳并能够在该卷上“列出”文件。

在此先感谢您的帮助!

解决方案

  1. 为您的 pod 添加存储空间
  2. 使用命令oc rsh <my-pod>来访问 pod
  3. cd /你的存储路径/