问题标签 [persistent-volumes]

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 投票
3 回答
25815 浏览

kubernetes - kubernetes 持久卷访问方式

Kubernetes 似乎支持 3 种持久卷的访问模式:ReadWriteOnce, ReadOnlyMany, ReadWriteMany. 我真的很好奇使用ReadWriteOnce模式卷的 pod 的调度策略。例如,我创建了一个 pod num=2 的 RC,我猜这两个 pod 将被调度到同一主机,因为它们使用具有ReadWriteOnce模式的卷?我很想知道这部分的源代码。

0 投票
1 回答
2117 浏览

kubernetes - 如果持久卷被删除并重新创建,Kubernetes 持久卷声明是否会再次绑定?

我有以下内容pvc(持久卷声明):

和谷歌云支持的pv(持久卷):

以及存在的 Google 云中的磁盘。

如果我先创建pv, 之后创建pvc,kubectl get pvc,pv将显示:

但如果我删除并重新创建pv,kubectl get pvc,pv将显示:

  • 为什么是pvc静止的Bound
  • (重新)不会pvc自动绑定吗?(我还观察到创建pvafterpvc会使状态pvc永远等待Pending。)

我使用以下 Kubernetes 版本:

0 投票
1 回答
7643 浏览

kubernetes - PersistentVolumeClaim 可以绑定到多个 PersistentVolume 吗?

我有一个由 3 个节点组成的 GCE 容器集群。在每个节点上,我都运行一个像这样的 POD:

定义“反亲和”端口的技巧确保每个 POD 在不同的节点上运行。我创建了 3 个这样定义的 PersistentVolume:

他们部署得很好

索赔定义如下:

我注意到,声明仅针对我创建的一个卷,因此,只有我的一个 PODS 可以成功部署。我所期望的是,当 POD 使用该声明时,会找到一个可用的卷来绑定,匹配选择器规则。换句话说,我对 PersistentVolumeClaims 的解释是,POD 使用声明来搜索一组匹配 PVC 规范的 PersistentVolume 中的可用卷。所以这就是我的问题:

同一 POD 的不同实例可以使用相同的 PersistentVolumeClaim 连接到不同的 PersistentVolume 吗?或者声明一旦创建就绑定到一个且仅一个卷,并且不能绑定到任何其他卷?

如果正确的答案是第二个,如何在部署时将 POD 动态绑定到 PersistentVolume(从一组中选择)而不为每个 POD 创建一个声明,从而避免为我需要连接的每个卷创建一个特定的 POD至?

0 投票
2 回答
2000 浏览

kubernetes - POD 崩溃时持久卷声明中的容器数据

我想创建一个带有 PVC(持久卷声明)的 POD 的复制控制器。我的 PVC 将为 PV(持久卷)使用 NFS 存储。

一旦 POD 运行,RC 将保持 POD 正常运行。在这种情况下,POD 中的数据在何时可用/持久

  1. POD 被删除命令停止/删除,然后 RC 重新启动它?这意味着 Kubernetes 没有关闭。在这种情况下,新 POD 是否可以具有来自同一卷的相同数据?
  2. POD 已停止,Kubernetes 进程和节点已重新启动。然而,NFS 存储仍然作为 PV 附加。
  3. 一个新的 PV 被附加到 Kubernetes,旧的 PV 被分离。
0 投票
0 回答
506 浏览

kubernetes - kubernetes coreos rbd 存储类

我想在coreos下使用k8s storageclass,但是失败了

.CoreOS 版本稳定(1122.2) .Hyperkube 版本为 v1.4.3_coreos.0

coreos -kubernetes脚本部署的k8s集群,修改rkt_opts为kubelet-wrapper.md推荐的rbd

ceph 版本是宝石,我在 coreos 上安装了一个 rbd 图像,效果很好。

现在,我尝试在pods中使用pvc,参考kubernetes官方文档https://github.com/kubernetes/kubernetes/tree/master/examples/experimental/persistent-volume-provisioning

配置文件:

secret create ok,storageclass create 好像没问题,但无法描述(“StorageClass”没有实现描述),创建pv​​c时,状态总是pending,描述一下:

有人可以帮我吗?

0 投票
1 回答
830 浏览

kubernetes - kubernetes 持久卷 ReadWriteOnly(RWO) 不适用于 nfs

那里,

根据文档:

ReadWriteOnce – the volume can be mounted as read-write by a single node

我创建了一个基于nfs的PV:

此 PV 的 PVC:

创建 PVC 绑定到 PV 后:

然后我使用相同的 PVC 创建了 2 个 POD:

POD1:

POD2:

创建 2 个 POD 后,它们被分配给 2 个不同的节点。我可以执行到容器中,并且可以在 nfs 挂载的文件夹中读写。

有人知道为什么会这样吗?

0 投票
1 回答
2559 浏览

azure - 带有 azureFile 的 Kubernetes 持久卷

我正在尝试使用 azureFile 创建持久卷,但是我不断收到以下错误。

我还尝试将共享安装在运行 kubernetes 的 VM 中,该 VM 可以正常工作。

我使用以下配置来创建 pv/pvc/pod。

这是我正在使用的 kubernetes 版本,它是使用 azure 容器服务构建的。

0 投票
1 回答
1030 浏览

openshift - Openshift 2.4 cdk Gitlab-CE “SchedulerPredicates 由于 PersistentVolumeClaim 未绑定而失败:“gitlab-ce-redis-data”,这是意料之外的。”

在启动最新的 cdk v 2.4 ( https://developers.redhat.com/products/cdk/download/ ) 后,根据https://about.gitlab上的 gitlab 指示,我在尝试部署 gitlab-ce 时得到以下信息.com/2016/06/28/get-started-with-openshift-origin-3-and-gitlab/

它们似乎被创建并陷入“待定”状态:

如何在创建 pv 时解决这些错误?

0 投票
1 回答
434 浏览

mysql - 无法使用持久数据工作的 wordpress 和 mysql 的 kubernetes 示例

我按照这个kubernetes 示例创建了一个带有持久数据的 wordpress 和 mysql

我遵循了从创建磁盘到部署以及第一次尝试删除的教程的所有内容

第一次尝试

https://s3-ap-southeast-2.amazonaws.com/dorward/2017/04/git-cmd_2017-04-03_08-25-33.png

问题:持久卷不绑定到持久卷声明。对于 pod 的创建和卷声明,它都保持挂起状态。卷状态也保持在 Released 状态。

必须按照示例中的描述删除所有内容,然后重试。这次我将创建的卷挂载到集群中的一个实例,使用 ext4 fs 格式化磁盘,然后卸载磁盘。

第二次尝试

https://s3-ap-southeast-2.amazonaws.com/dorward/2017/04/git-cmd_2017-04-03_08-26-21.png

问题:格式化卷后,它们现在绑定到声明了耶!不幸的是,mysql pod 没有在关闭状态 crashLoopback 的情况下运行。最终,wordpress pod 也崩溃了。

https://s3-ap-southeast-2.amazonaws.com/dorward/2017/04/git-cmd_2017-04-03_08-27-22.png

有没有其他人经历过这个?我想知道我是否做错了什么,或者从考试的编写到现在有什么改变导致示例中断。我该如何解决它?

任何帮助表示赞赏。

0 投票
1 回答
3921 浏览

kubernetes - 如何在 Google Container Engine 上创建 kubernetes NFS 卷

我正在尝试在 Google Container Engine (GKE) 上创建一个 kubernetes NFS 卷并让它被部署使用。

我在这个 github 存储库kubernetes-nfs-volume-on-gke中显示了几个步骤:

  1. 创建 GKE 集群和 GCE 永久性磁盘
  2. 配置 kubectl 处理 GKE 集群的上下文
  3. 创建 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC)
  4. 创建 NFS 服务器
  5. 为 NFS 服务器创建服务以公开它(该服务的 IP 地址用于创建 NFS PV 和 NFS PVC)
  6. 创建 NFS 卷
  7. 创建一个用于检查 NFS 卷是否可访问的 busybox 部署。

经过这些步骤,这是得到的错误:

在 Kubernetes Dashboard 中,报错如下:

无法为 pod“nfs-busybox-2762569073-lhb5p_default(b1e7c901-1f14-11e7-a084-42010a8e0116)”挂载卷:超时已过期等待卷为 pod“default”/“nfs-busybox-2762569073-lhb5p 附加/挂载” ”。未附加/卸载卷列表=[my-pvc-nfs]

同步 pod 时出错,跳过:等待卷附加/挂载 pod“默认”/“nfs-busybox-2762569073-lhb5p”的超时已过期。未附加/卸载卷列表=[my-pvc-nfs]

我错过了什么吗?

谢谢,