问题标签 [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.
kubernetes - 如果持久卷被删除并重新创建,Kubernetes 持久卷声明是否会再次绑定?
我有以下内容pvc
(持久卷声明):
和谷歌云支持的pv
(持久卷):
以及存在的 Google 云中的磁盘。
如果我先创建pv
, 之后创建pvc
,kubectl get pvc,pv
将显示:
但如果我删除并重新创建pv
,kubectl get pvc,pv
将显示:
- 为什么是
pvc
静止的Bound
? - (重新)不会
pvc
自动绑定吗?(我还观察到创建pv
afterpvc
会使状态pvc
永远等待Pending
。)
我使用以下 Kubernetes 版本:
kubernetes - POD 崩溃时持久卷声明中的容器数据
我想创建一个带有 PVC(持久卷声明)的 POD 的复制控制器。我的 PVC 将为 PV(持久卷)使用 NFS 存储。
一旦 POD 运行,RC 将保持 POD 正常运行。在这种情况下,POD 中的数据在何时可用/持久
- POD 被删除命令停止/删除,然后 RC 重新启动它?这意味着 Kubernetes 没有关闭。在这种情况下,新 POD 是否可以具有来自同一卷的相同数据?
- POD 已停止,Kubernetes 进程和节点已重新启动。然而,NFS 存储仍然作为 PV 附加。
- 一个新的 PV 被附加到 Kubernetes,旧的 PV 被分离。
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 挂载的文件夹中读写。
有人知道为什么会这样吗?
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 时解决这些错误?
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
有没有其他人经历过这个?我想知道我是否做错了什么,或者从考试的编写到现在有什么改变导致示例中断。我该如何解决它?
任何帮助表示赞赏。
kubernetes - 如何在 Google Container Engine 上创建 kubernetes NFS 卷
我正在尝试在 Google Container Engine (GKE) 上创建一个 kubernetes NFS 卷并让它被部署使用。
我在这个 github 存储库kubernetes-nfs-volume-on-gke中显示了几个步骤:
- 创建 GKE 集群和 GCE 永久性磁盘
- 配置 kubectl 处理 GKE 集群的上下文
- 创建 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC)
- 创建 NFS 服务器
- 为 NFS 服务器创建服务以公开它(该服务的 IP 地址用于创建 NFS PV 和 NFS PVC)
- 创建 NFS 卷
- 创建一个用于检查 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]
我错过了什么吗?
谢谢,
dynamic - 具有动态配置的 Kubernetes 自定义卷插件
我有一个专有的文件系统,我想用它来为我的 K8S pod 提供文件存储。我目前正在运行 K8S v1.5.1,但如果需要,可以升级到 1.6。
我想利用动态配置,以便根据需要创建卷。我浏览了 kubernetes.io 上的官方文档,这是我目前所理解的:
- 我需要为我的专有文件系统编写一个 Kubernetes 自定义卷插件。
- 我需要创建一个 StorageClass,它使用从我的专有文件系统提供卷的供应商
- 然后我创建一个引用我的 StorageClass 的 PVC
- 然后,我创建我的 Pod,按名称引用我的存储类。
我无法弄清楚的是:
- Storage Class 和 K8S Volume Plugin 引用的 Provisoner 是不是一回事?如果它们不同,如何?
- K8S 文档中提到了 External Provisoner 。这是否意味着我可以为我的文件系统树外(K8S 代码之外)编写 K8S 卷插件?
- 我的文件系统提供 REST API 来创建文件系统卷。我可以在我的供应商/音量插件中调用它们吗?
- 如果我编写了一个 out-of-tree 插件,我如何将它加载到我的 K8S 集群中,以便它可以用于使用 Storage Class 来配置卷?
感谢您回答上述任何或所有问题的任何帮助。
谢谢!
amazon-web-services - Kubernetes:如何设置 VolumeMount 用户组和文件权限
我正在使用 kops 在 AWS 上运行 Kubernetes 集群。我已将 EBS 卷安装到容器上,它在我的应用程序中可见,但它是只读的,因为我的应用程序没有以 root 身份运行。如何PersistentVolumeClaim
以 root 以外的用户身份挂载 a?VolumeMount
似乎没有任何选项来控制挂载路径的用户、组或文件权限。
这是我的部署 yaml 文件:
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卷有问题,如下所述:
你能帮忙解决这个问题吗?
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 的正确方法吗?