问题标签 [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.
jenkins - Kubernetes POD 故障转移
我正在玩弄 Kubernetes,并设法将一个有状态的应用程序(jenkins 实例)部署到单个节点。它使用 PVC 来确保我可以保存我的 jenkins 数据(作业、插件等)。
现在我想尝试故障转移。
我的集群有 2 个数字海滴。
目前,我的 jenkins pod 仅在一个节点上运行。当它下降时,詹金斯变得不可用。
我现在正在研究如何完成故障转移,当 jenkins pod 在我的节点上关闭时,它将在另一个节点上启动。(在此过程中的停机时间很短是可以的)。
当然,它必须使用相同的 PVC,以便我的数据保持完整。
我相信,在阅读时,StatefulSet 可以用于此目的吗?
任何指针都非常感谢!
此致
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
文件不存在。
我是开发新手,也许我错过了一些东西。
谢谢!
kubernetes - 如何对存储类设置存储配额限制
我想PeristentVolumes
使用 PVC 动态创建它们并将它们安装到我的 pod 中。所以,我正在关注 kubernetes 动态供应的概念。我正在PersistentVolumeClaim
使用 Kubernetes创建StorageClasses
。
我正在使用StorageClasses
这样的方式创建 PVC。
现在,我想限制 StorageClassestest-sc
以限制存储使用。在任何情况下,使用 StorageClass 创建的 PVCtest-sc
在所有命名空间中使用的存储总和不应超过 150M。
我可以限制使用 StorageClasstest-sc
为单个命名空间创建的 PVC 的存储使用情况,如下所示。
如何将此限制放在集群级别,即存储类上?
kubernetes - 如何为 K8S 上的应用程序准备好输入数据
在 K8S 上部署 POD 之前,如何准备好输入数据?据我了解,持久卷是使用 PVC(持久卷声明)动态创建的,因此在 POD yaml 文件中,我们可以像这样设置 PVC 和挂载路径:
问题是,如何在部署 POD 之前上传数据?我想要的是在 K8S 的某个地方准备好并持久化数据,然后当我部署 POD 并将其公开为服务时,服务可以立即访问数据。
google-cloud-platform - 在 Google Cloud Platform 中使用 GKE 的多区域永久性磁盘
我知道我们可以使用在集群中创建的容器来安装永久性磁盘。GCP 为我们提供区域永久性磁盘(标准和 SSD),它只不过是在一个区域的两个区域中保留一个磁盘。
例如:
磁盘 A存在于us-central1-a中,并且副本保存在us-central1-b中。通过这种方式,我们可以确保万一某个区域出现故障,我们可以将工作负载转移到另一个区域。这只是确保了一个区域(例如asia-south1)和该区域内的多个区域(例如asia-south1-a和asia-south1-b)的高可用性。
我正在寻找一种拥有多区域磁盘的方法。我知道整个地区都不太可能垮掉。
有什么方法可以做到这一点?我在谷歌上花了一些时间,但找不到任何东西。
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?
谢谢你的帮助!
kubernetes - 如何动态创建持久卷声明?
我在裸机 K8s 集群上运行我的应用程序,我正在使用一个 NFS 配置器来处理持久卷,我只需要创建一个持久卷声明。我在 K8s 上也有一个数据库(RethinkDB),我可以对其进行集群,并且该数据库的每个实例都有自己的持久卷声明,并且一切都很好并且工作正常。
我的问题是:我是否可以动态创建持久卷声明,以便我可以扩展我的数据库,类似于kubectl scale deployment registry --replicas=3
不需要有人为每个副本创建持久卷声明?
我当前的 yaml 文件:
持久卷声明:
azure - 当持久性卷声明超过存储时会发生什么?
我确实看过这个,但我觉得没有涵盖答案:kubernetes persistence volume and persistence volume claim exceeded storage
无论如何,我试图查看文档,但无法找出当 PVC Azure 磁盘已满时会发生什么?所以,我们有一个监控一些数据的 grafana 应用程序。我们使用 PVC 来确保在 pod 被杀死时保存数据。现在 pod 不断地获取数据,磁盘越来越满。磁盘已满时会发生什么?理想情况下,实现某种功能会很好,这样当它接近 80% 时,它会删除比如说 20% 的数据,例如从最旧的数据开始。或者我们如何解决这个问题?
PVC:
amazon-web-services - Kubernetes 中是否有 API 可以获取特定 AWS 账户的所有卷?
找不到任何可以查询与特定 AWS 账户区域相关的所有 volumeID 的 K8s API。我的主要目的是清理所有陈旧的卷。为此,我使用下面的 shell 脚本从 AWS 收集处于可用状态的卷信息。
但仅此还不够,因为有时我会关闭一些环境,并且 pod 没有运行,这反过来又将卷标记为可用,但一旦环境出现,它们将被使用/附加到 pod。因此,我需要获取两个列表(来自 AWS 和 K8s)并区分它们。最后,我得到了实际上与我的任何环境都没有关联的卷。任何帮助是极大的赞赏。
注意:众所周知,下面的 k8s API 可以获取将命名空间作为输入的卷,而我并不在寻找。
kubernetes - kubernetes azure 节点超过最大卷数
我有 4 个节点的 Kubernetes 集群。根据这个https://kubernetes.io/docs/concepts/storage/storage-limits/ azure 每个节点应该有 16 pv 的限制。
所以我应该有 64 卷可用。虽然我只能创建 16 个。尝试创建第 17 个给我一个错误
这可能是什么原因?