问题标签 [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.
azure - Azure ACS AzureFile 动态持久卷声明
我正在尝试使用我用 azure-file 类型定义的存储类动态配置存储。我尝试在 storageclass 中为 storageAccount 和 skuName 设置两个参数。这是我设置了 storageAccount 的示例。
存储类已成功创建,但是当我尝试使用此存储类创建持久卷声明时,持久卷创建失败并出现以下错误:
这是我的 persistentvolumeclaim 的代码
我的 storageaccount 绝对与我的 acs 集群位于同一资源组和数据中心位置。我的理解是应该自动生成一个秘密的、持久的卷和文件共享。相反,我只是陷入了带有上述错误的挂起状态。
这是我的 kubectl version 命令的输出
任何输入将不胜感激。谢谢!
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 等,并且在每个部署中,我必须对每个命名的卷声明进行声明
我无法完全理解如何动态地完成所有这些工作?
你能推荐一个更好的方法来达到预期的结果吗?
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 没有被删除?
kubernetes - 无法将大文件上传到持久卷
我创建了一个持久卷,声明 (10Gi) 并安装在一个 pod 上。下面是 YAML 文件。 YAML 文件
我的意图是将一个大文件上传到持久卷
我预计挂载路径应该是 10Gi(截至 PV)。相反,它是 4KB。因此我无法上传大文件。
以下是我尝试上传大文件时的错误:
我猜这是因为目录没有空间。知道我做错了什么吗?任何帮助,将不胜感激。
kubernetes - 在 Kubernetes 中共同定位 pod 和持久卷
我有一个分布在两个区域 A 和 B 的 kubernetes 集群。我使用 nfs 卷进行持久存储。我在两个区域都有 nfs 卷。我正在创建一组有状态的 2 个副本,这些副本将分布在这些区域中(我使用 pod 反亲和性来实现这一点)。现在我希望 A 区中的 Pod 使用 A 区中的卷,而 B 区中的 Pod 使用 B 区中的卷。
我可以将标签添加到持久卷,并将持久卷声明与这些标签相匹配。但是如何确保 pod 的 pvc 不会绑定到另一个区域中的 pv?
kubernetes - 缩小时自动删除PVC?
当我缩减实例数量时,我正在寻找一种方法来自动删除分配给 StatefulSet 的 Pod 的 PersistentVolumeClaims。有没有办法在 k8s 中做到这一点?我还没有在文档中找到任何内容。
kubernetes - PersistentVolume 标记为已绑定但在容器中不可见
我从 GKE(以及一般的 kubernetes)开始,我想使用 gcePersistentDisk 在 pod 上安装持久卷。
我首先在 Compute Engine 中创建了一个 Persistent Disk(项目数据),然后创建了一个 PersistentVolume 和一个 PersistentVolumeClaim,如下所示:
应用此配置后,我在 GKE/Storage 中看到我的 PVC 已“绑定”,但我找不到在 myapp 中访问我的卷的方法。
我尝试通过添加以下内容在控制台中编辑部署 yaml:
...但是控制台拒绝了这种修改(似乎禁止这种编辑)。
如何最终将我的 PersistentVolume 视为我的应用程序中的文件系统?
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 pv01
,pv01
PersistentVolume 显示“可用”的状态。
创建 PersistentVolumeClaim
然后我们创建了一个名为 `` 的 PersistentVolumeClaim pv-claim.yaml
:
通过键入:
状态待定
但是当我们输入 时kubectl get pvc my-pv-claim
,我们看到 STATUS 是 Pending。只要我们继续检查,状态就会一直处于待处理状态。
请注意,此 OP 与此其他问题不同,因为即使在 NFS IP 和路径周围加上引号,此问题仍然存在。
为什么这个 PVC 没有绑定到 PV?需要做出哪些具体的改变来解决这个问题?
openshift - OpenShift3 持久卷声明
背景:
我已经在 openshift 平台上部署了一个 spring boot 应用程序,并且想知道如何处理 OpenShift3 中的持久存储。我已订阅免费计划并可以访问控制台。我可以使用 oc 命令,但在我的用户下,对于“oc get pv”等命令的访问权限似乎有限。
问题
如何更好地控制 OS3 上的 pvc(持久存储声明)?理想情况下,我想要一个外壳并能够在该卷上“列出”文件。
在此先感谢您的帮助!
解决方案
- 为您的 pod 添加存储空间
- 使用命令
oc rsh <my-pod>
来访问 pod - cd /你的存储路径/