问题标签 [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.
kubernetes - 将 statefulset 绑定到本地持久卷 - 卷节点关联冲突错误
我有 3 节点 kubernetes,主机名为 host_1、host_2、host_3。
我定义了 3 个大小为 100M 的本地持久卷,映射到每个节点上的本地目录。我使用了以下描述符 3 次,其中<hostname>
之一是:host_1、host_2、host_3:
应用三个这样的 yaml 后,我有以下内容:
现在,我有一个非常简单的容器来写入文件。该文件应位于本地持久卷上。我通过 statefulset 的 volumeClaimTemplates 将其部署为具有 1 个副本和映射卷的 statefulset:
卷声明似乎已经创建好并绑定到第一台主机上的 pv :
但是,Pod 挂在 Pending 状态:
如果我们描述,我们可以看到以下错误:
你能帮我找出问题所在吗?为什么它不能只创建 pod?
mongodb - 为什么删除 STS 应用程序不会自动删除 OpenEBS Jiva 卷 pvc?
我正在运行一个在 OpenEBS 0.6.0 Jiva 卷上使用的 Mongo DB STS 应用程序,我已经删除了这个应用程序。但它并没有删除相应的 PVC。如何清理我的系统?这是默认行为吗?
kubernetes - Is it possible to have PVC's with the same name accross different namespace when using different PV's in Kubernetes?
I have 2 different namespace: prod-01 and prod-02, What I want to do is build a copy of my prod-01 into prod-02 namespace keeping the same names for its pvcs, so that I don't have to maintain 2 sets of charts for each different namespace.
Here's how it looks like:
As shown below, I have 2 pairs of pv's for each namespace:
Here's how pvc's for prod-01 are being displayed:
And here's what I'm trying to accomplish:
As shown above, the pvc's for prod-02 namespace are stuck forever with Pending status.
Them when I change the pvc names on prod-02 to anything different, they bond as expected.
Which leads me to think I can't use the same names on pvc's even when they are in different namespaces and pointing to different pv's ... However, when searching the documentation, I could not find any evidence to this issue, and was wondering if I could be missing something.
So to put it simple, can I have multiple pvc's with the same name accross different namespaces (considering that they are using different pv's)?
Update: result of kubectl describe pvc
Also here's the output of kubectl get pvc
:
And here are some details about the pv too:
Thanks in advance for the help!
kubernetes - Kubernetes 没有匹配的可配置卷插件
尝试为 Kubernetes 卷使用 NFS 存储但未能成功。
persistentvolumeclaim无法绑定到已经创建的persistentvolume,见下文
创建持久卷
创建持久卷声明
persistentvolumeclaim 的事件日志显示
任何想法可能会阻止 k8s 绑定两者?
kubernetes - Kubernetes 将 cinder 存储与 pod 关联起来
我有一个 K8 集群,需要将我的 pod 与 cinder 存储选项相关联。我尝试了两种选择,但都失败了。任何人都可以阐明正在发生的事情吗?
选项1: 在 OpenStack 中手动创建卷并将其集成到我的 yaml 文件中。Kubectl describe on pod 显示以下错误
YAML 文件:
Option2: 新建一个存储类,新建一个PV,PVC。这会在 OpenStack 中创建一个新卷,它也会出现在我的 K8 集群中。
将声明关联到 yaml 文件:
YAML 文件:
performance - Kubernetes NFS 挂载选项
我最近开始为我的本地集群使用 NFS 卷。这对我来说是最简单和最好的解决方案,但是在实际安装选项方面似乎非常有限。
无论如何在volume.yml文件中的节点/集群上设置挂载选项?
- NFSv3
- NFSv4/4.1
- 查找缓存
- 不定时
- rsize,wsize
我有需要特定版本的应用程序以及这些安装选项以提高性能。
无论如何要在这里添加挂载标志吗?
kubernetes - 如何将 PV 和 PVC 用于*可靠的*持久卷?
我按照这篇文章中的说明进行操作: 如何将持久卷声明与 gcePersistentDisk 绑定?
当我应用它时,我的 PVC 没有绑定到 PV,而是在事件列表中出现了这个错误:
我发现了一个 github 帖子,其中提出了一些可以解决此问题的建议:
https://github.com/coreos/prometheus-operator/issues/323#issuecomment-299016953
但不幸的是,这并没有什么不同。
是否有一个通俗易懂的文档告诉我们如何使用 PV 和 PVC 来创建真正持久的卷?具体来说,您可以在哪里关闭 pv 和 pvc 并稍后恢复它们,然后取回所有内容?因为现在看来,如果您由于某种原因丢失了 PVC,您将失去与您的音量的连接,并且无法再次将其取回。
postgresql - 在 Google 云平台上的 Kubernetes 中创建持久卷
我正在尝试将 postgres 服务部署到具有持久卷和持久卷声明的谷歌云 kubernetes,以为我的应用程序提供存储。
当我部署时,吊舱卡在CrashLoopBackOff
.
pod 的一个事件失败并显示以下消息:
Error: failed to start container "postgres": Error response from daemon: error while creating mount source path '/data/postgres-pv': mkdir /data: read-only file system
这是我尝试使用 kubectl 部署的 yaml:
没有什么部署失败,但是 pod 卡在了 CrashLoopBackOff 中。
谢谢您的帮助!
kubernetes - 无法将更改应用于与 gCloud Kubernetes 引擎中的 ReadWriteOnce PV 绑定的部署?
由于 GCE 磁盘不支持ReadWriteMany
,我无法将更改应用到 Deployment,但被困在ContainerCreating with 中FailedAttachVolume
。
所以这是我的设置:
1.聚氯乙烯
2.服务
3. 部署
这些对于创建 PVC、svc 和部署都很好。Pod 和容器成功启动并按预期工作。
但是,当我尝试通过以下方式应用更改时:
kubectl apply -f mysql_deployment.yaml
首先,豆荚被现有的豆荚吸住并没有终止,新的豆荚将永远创建。
其次,在 gCloud 控制台中,在尝试创建的 pod 内,我得到了两个重要的错误日志:
1 of 2 失败附加卷
2 之 2 失败安装
我能立即想到的是ReadWriteOnce
gCloud PV 的能力。因为 kubernetes 引擎会在终止现有的 Pod 之前创建一个新的 Pod。所以在 ReadWriteOnce 下它永远不能创建一个新的 pod 并声明现有的 pvc ......
有什么想法或者我应该使用其他方式来执行部署更新吗?感谢您的任何贡献和建议 =)
备注:我目前的解决方法是创建一个临时 NFS pod 使其像 ReadWriteMany pvc,这可行但听起来很愚蠢......需要额外的存储 i/o 开销来促进部署更新?.. =P
mongodb - Kubernetes / Rancher 2,带有本地存储卷部署的 mongo-replicaset
我尝试,我尝试,但 Rancher 2.1 无法部署“ mongo-replicaset ”目录应用程序,并配置了本地持久卷。
如何正确部署具有本地存储卷的 mongo-replicaset?由于我是 rancher 2 的新手,因此任何调试技术都值得赞赏。
我遵循下面的 4 个 ABCD 步骤,但第一个 pod 部署永远不会结束。它有什么问题?日志和结果屏幕在最后。详细配置可以在这里找到。
注意:没有本地持久卷的部署成功。
注意:使用本地持久卷和“mongo”映像部署成功(没有副本集版本)。
注意:同时使用 mongo-replicaset 和本地持久卷的部署失败。
步骤 A - 集群
创建一个牧场主实例,并且:
- 添加三个节点:一个worker,一个worker etcd,一个worker control plane
- 在每个节点上添加标签:节点 Affinity 的名称一、名称二和名称三
步骤 B - 存储类
使用以下参数创建存储类:
- volumeBindingMode : WaitForFirstConsumer在这里看到
- 名称:本地存储
步骤 C - 持久卷
添加 3 个持久卷,如下所示:
- 类型:本地节点路径
- 访问模式:单节点RW,12Gi
- 存储类:本地存储
- 节点亲和度:名称一(二为第二卷,三为第三卷)
步骤 D - Mongo-replicaset 部署
从目录中,选择 Mongo-replicaset 并像这样配置它:
- 副本集名称:rs0
- persistentVolume.enabled:真
- 持久卷大小:12Gi
- persistentVolume.storageClass:本地存储
结果
执行 ABCD 步骤后,新创建的 mongo-replicaset 应用程序无限保持在“Initializing”状态。
关联的 mongo 工作负载仅包含一个 pod,而不是三个。这个 pod 有两个“崩溃”的容器,bootstrap 和 mongo-replicaset。
日志
这是唯一运行的 pod 的 4 个容器的输出。没有错误,没有问题。
我无法弄清楚这个配置有什么问题,也没有任何工具或技术来分析问题。详细配置可以在这里找到。请向我询问更多命令结果。
谢谢