问题标签 [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 回答
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 投票
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 投票
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 回答
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]

我错过了什么吗?

谢谢,

0 投票
1 回答
288 浏览

dynamic - 具有动态配置的 Kubernetes 自定义卷插件

我有一个专有的文件系统,我想用它来为我的 K8S pod 提供文件存储。我目前正在运行 K8S v1.5.1,但如果需要,可以升级到 1.6。

我想利用动态配置,以便根据需要创建卷。我浏览了 kubernetes.io 上的官方文档,这是我目前所理解的:

  1. 我需要为我的专有文件系统编写一个 Kubernetes 自定义卷插件。
  2. 我需要创建一个 StorageClass,它使用从我的专有文件系统提供卷的供应商
  3. 然后我创建一个引用我的 StorageClass 的 PVC
  4. 然后,我创建我的 Pod,按名称引用我的存储类。

我无法弄清楚的是:

  1. Storage Class 和 K8S Volume Plugin 引用的 Provisoner 是不是一回事?如果它们不同,如​​何?
  2. K8S 文档中提到了 External Provisoner 。这是否意味着我可以为我的文件系统树外(K8S 代码之外)编写 K8S 卷插件?
  3. 我的文件系统提供 REST API 来创建文件系统卷。我可以在我的供应商/音量插件中调用它们吗?
  4. 如果我编写了一个 out-of-tree 插件,我如何将它加载到我的 K8S 集群中,以便它可以用于使用 Storage Class 来配置卷?

感谢您回答上述任何或所有问题的任何帮助。

谢谢!

0 投票
9 回答
140795 浏览

amazon-web-services - Kubernetes:如何设置 VolumeMount 用户组和文件权限

我正在使用 kops 在 AWS 上运行 Kubernetes 集群。我已将 EBS 卷安装到容器上,它在我的应用程序中可见,但它是只读的,因为我的应用程序没有以 root 身份运行。如何PersistentVolumeClaim以 root 以外的用户身份挂载 a?VolumeMount似乎没有任何选项来控制挂载路径的用户、组或文件权限。

这是我的部署 yaml 文件:

0 投票
0 回答
414 浏览

kubernetes - wordpress pod和mysql pod之间的NFS卷共享问题

这个存储库kubernetes-wordpress-with-nfs-volume-on-gke正在尝试实现一个 wordpress 应用程序,该应用程序在 mySQL 和 wordpress 之间共享一个 NFS 卷。在 Pod 之间共享 NFS 卷背后的想法是在下一步中为 mySQL 实现 StatefulSet。这个 StatefulSet 应用程序需要在 mySQL 的所有 pod 之间共享数据库(数据库的卷),以便创建一个多节点数据库,以确保所请求的高性能。

为此,有一个示例janakiramm/wp-statefulset。此示例使用etcd. 那么为什么不使用nfs代替etcd呢?

运行来创建这个在 MySQL 和 wordpress 之间共享 NFS 卷的 kubernetes wordpress 应用程序的命令是:

这个实现没有成功。wordpress pod 未启动:

似乎是访问NFS卷有问题,如下所述:

你能帮忙解决这个问题吗?

0 投票
2 回答
6269 浏览

kubernetes - Kubernetes:带有 StatefulSets 的 NFS

我正在尝试将现有 NFS 与 StateFulSets 一起使用。

使用. PresistentVolumeClaim_volumeClaimTemplates

问题:

但是,由于PresistentVolumeClaim声称整个PresistentVolume. 我必须PresistentVolume为所有副本手动创建。有没有办法在 Kubernetes 中动态配置 NFS 持久卷?

注意: NFS Server 本身是静态的,只需要在 K8s 中动态创建卷,而不是 NFS Server 本身。

我正在使用 mongo statefulset 示例:

它需要 3 PresistentVolumeClaim,所以我必须创建 3PV才能使用。这可以像其他动态供应商(如 aws-ebs)一样动态添加到 NFS 中吗

这是获得带有 NFS 持久卷的 StatefulSet 的正确方法吗?