问题标签 [kubernetes-pvc]

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 投票
4 回答
1442 浏览

jenkins - Kubernetes POD 故障转移

我正在玩弄 Kubernetes,并设法将一个有状态的应用程序(jenkins 实例)部署到单个节点。它使用 PVC 来确保我可以保存我的 jenkins 数据(作业、插件等)。

现在我想尝试故障转移。

我的集群有 2 个数字海滴。

目前,我的 jenkins pod 仅在一个节点上运行。当它下降时,詹金斯变得不可用。

我现在正在研究如何完成故障转移,当 jenkins pod 在我的节点上关闭时,它将在另一个节点上启动。(在此过程中的停机时间很短是可以的)。

当然,它必须使用相同的 PVC,以便我的数据保持完整。

我相信,在阅读时,StatefulSet 可以用于此目的吗?

任何指针都非常感谢!

此致

0 投票
1 回答
220 浏览

nginx - 在 AWS EKS 上使用持久卷附加 NGINX 配置文件

我正在尝试将我的 NGINX 配置文件(配置、ssl 证书等)附加到我在 AWS EKS(弹性 Kubernetes 服务)上的 NGINX POD。阅读有关此内容的信息,我正在使用 Persistence Volume 和 Persistence Volume Claim,如后续教程 ( https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/ ) 中所示。

我的场景是:我需要将本地化的配置文件附加/mnt/data到 NGINX POD 中。

持久卷:

持久卷声明:

NGINX 吊舱:

在运行 Persistent Volume、Persistent Volume Claim 和 NGINX POD 并访问正在运行的 NGINX POD 后/bin/bash,我的集群上的数据/mnt/data应该在/usr/share/nginx/html文件夹内,对吗?/usr/share/nginx/html但是当我访问文件夹中的 NGINX pod 时,我的/mnt/data文件不存在。

我是开发新手,也许我错过了一些东西。

谢谢!

0 投票
1 回答
293 浏览

kubernetes - 如何对存储类设置存储配额限制

我想PeristentVolumes使用 PVC 动态创建它们并将它们安装到我的 pod 中。所以,我正在关注 kubernetes 动态供应的概念。我正在PersistentVolumeClaim使用 Kubernetes创建StorageClasses

我正在使用StorageClasses这样的方式创建 PVC。

现在,我想限制 StorageClassestest-sc以限制存储使用。在任何情况下,使用 StorageClass 创建的 PVCtest-sc在所有命名空间中使用的存储总和不应超过 150M。

我可以限制使用 StorageClasstest-sc为单个命名空间创建的 PVC 的存储使用情况,如下所示。

如何将此限制放在集群级别,即存储类上?

0 投票
3 回答
64 浏览

kubernetes - 如何为 K8S 上的应用程序准备好输入数据

在 K8S 上部署 POD 之前,如何准备好输入数据?据我了解,持久卷是使用 PVC(持久卷声明)动态创建的,因此在 POD yaml 文件中,我们可以像这样设置 PVC 和挂载路径:

问题是,如何在部署 POD 之前上传数据?我想要的是在 K8S 的某个地方准备好并持久化数据,然后当我部署 POD 并将其公开为服务时,服务可以立即访问数据。

0 投票
1 回答
412 浏览

google-cloud-platform - 在 Google Cloud Platform 中使用 GKE 的多区域永久性磁盘

我知道我们可以使用在集群中创建的容器来安装永久性磁盘。GCP 为我们提供区域永久性磁盘(标准和 SSD),它只不过是在一个区域的两个区域中保留一个磁盘。

例如:

磁盘 A存在于us-central1-a中,并且副本保存在us-central1-b中。通过这种方式,我们可以确保万一某个区域出现故障,我们可以将工作负载转移到另一个区域。这只是确保了一个区域(例如asia-south1)和该区域内的多个区域(例如asia-south1-aasia-south1-b)的高可用性。

我正在寻找一种拥有多区域磁盘的方法。我知道整个地区都不太可能垮掉。

有什么方法可以做到这一点?我在谷歌上花了一些时间,但找不到任何东西。

0 投票
0 回答
1268 浏览

kubernetes - Kubernetes NFS PV,锁定问题

我没有设置 mountOptions.nolock。之后使用这个 pv,然后我的挂载文件没有可用的锁。我试图将 mount 设置为 -local_lock=all 或 -lock。

这是 pv.yaml

我确定 pod 是绑定 pvc,pvc 是绑定 pv。我进入 pod 并使用 mount,可以看到这个内容。

local_lock 为none,我的redis集群获取不到文件锁。错误日志:

我的 NFS 服务器在 Windows 10 中使用 hanneWIN 我在端口上设置了网络锁定管理器,为 4045。我的防火墙入站规则是允许所有端口,包括 4045。

我想看kubernetes挂载命令日志,怎么看?

如何设置 pv 或 kubernetes 或 NFS?

谢谢你的帮助!

0 投票
1 回答
244 浏览

kubernetes - 如何动态创建持久卷声明?

我在裸机 K8s 集群上运行我的应用程序,我正在使用一个 NFS 配置器来处理持久卷,我只需要创建一个持久卷声明。我在 K8s 上也有一个数据库(RethinkDB),我可以对其进行集群,并且该数据库的每个实例都有自己的持久卷声明,并且一切都很好并且工作正常。

我的问题是:我是否可以动态创建持久卷声明,以便我可以扩展我的数据库,类似于kubectl scale deployment registry --replicas=3不需要有人为每个副本创建持久卷声明?

我当前的 yaml 文件:

持久卷声明:

0 投票
1 回答
1258 浏览

azure - 当持久性卷声明超过存储时会发生什么?

我确实看过这个,但我觉得没有涵盖答案:kubernetes persistence volume and persistence volume claim exceeded storage

无论如何,我试图查看文档,但无法找出当 PVC Azure 磁盘已满时会发生什么?所以,我们有一个监控一些数据的 grafana 应用程序。我们使用 PVC 来确保在 pod 被杀死时保存数据。现在 pod 不断地获取数据,磁盘越来越满。磁盘已满时会发生什么?理想情况下,实现某种功能会很好,这样当它接近 80% 时,它会删除比如说 20% 的数据,例如从最旧的数据开始。或者我们如何解决这个问题?

PVC:

0 投票
1 回答
34 浏览

amazon-web-services - Kubernetes 中是否有 API 可以获取特定 AWS 账户的所有卷?

找不到任何可以查询与特定 AWS 账户区域相关的所有 volumeID 的 K8s API。我的主要目的是清理所有陈旧的卷。为此,我使用下面的 shell 脚本从 AWS 收集处于可用状态的卷信息。

但仅此还不够,因为有时我会关闭一些环境,并且 pod 没有运行,这反过来又将卷标记为可用,但一旦环境出现,它们将被使用/附加到 pod。因此,我需要获取两个列表(来自 AWS 和 K8s)并区分它们。最后,我得到了实际上与我的任何环境都没有关联的卷。任何帮助是极大的赞赏。

注意:众所周知,下面的 k8s API 可以获取将命名空间作为输入的卷,而我并不在寻找。

0 投票
1 回答
3481 浏览

kubernetes - kubernetes azure 节点超过最大卷数

我有 4 个节点的 Kubernetes 集群。根据这个https://kubernetes.io/docs/concepts/storage/storage-limits/ azure 每个节点应该有 16 pv 的限制。

所以我应该有 64 卷可用。虽然我只能创建 16 个。尝试创建第 17 个给我一个错误

这可能是什么原因?