问题标签 [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.
openshift - 在 Openshift 3 中创建新应用程序并从 OS2 迁移
一年多前,我在 Openshift 2 上部署了一个用 Node.js 编写的电报机器人。我收到了关于从 OS 2 迁移到 OS 3 的通知,然后我开始阅读一些关于 OS 3 的内容,比如这本书(“面向开发人员的 Openshift”),我阅读了文档,阅读了一些帖子。
虽然从 2 迁移到 3 并不容易,但现在齿轮有点旋转(只是使用一个相关术语)并且想法变得清晰,但我仍然有一些疑问。
我的应用程序需要一些静态文件,这些文件必须在 Kubernetes Persistent Volume Claim (PVC) 中上传。因此,我通过 CLI util 'oc' 创建了一个新应用程序,使用我在 GitHub 存储库上的代码 - 但我还使用本地文件夹测试了 S2I - 并创建、安装 PVC 并将其关联到我的应用程序。
由于 PVC 上的文件丢失,容器启动时创建的 pod 崩溃(“崩溃循环退避”)。
因此,通过命令oc rsync <local path> <pod>:<remote path>
(文档参考),我尝试将文件推送到 pod 上,但由于它崩溃,我无法访问挂载的 PVC 来推送所需的文件:tar 和 rsync 方法都失败了。(我想这就是原因)
那么,我不清楚的是如何在不安装 PVC 的情况下将文件推送到 PVC 上?还有其他方法吗?
我在想我可以首先创建一个空应用程序(通过 CLI oc new-app --allow-missing-images
),创建、挂载和关联 PVC,启动 pod,推送文件,然后从 S2I 和 GitHub 创建一个新构建,然后部署。我不确定它会起作用,因为我认为 pod 可能会过早结束而不让我推送文件。它可以工作吗?
谢谢你。
kubernetes - PVC 处于待处理状态
但是当我的 PVC 处于 Pending 状态而没有任何有意义的日志时,我遇到了一个问题
solr - 如何为 Kubernetes 中的软件安装提供持久卷声明
我正在尝试为 k8s 中的 Solr 部署配置 PVC,并将其挂载为 /opt/solr,这是默认的 Solr 安装目录。这样,我计划将 Solr 安装和其下的数据都定位在 PVC 上。但是,虽然存储配置得很好并且创建了 statefulset,但我的部署不起作用,因为 /opt/solr 最终为空。什么是正确的方法?这是我的deployment.yaml:
kubernetes - GKE PVC 与磁盘
我的应用程序在 google kubernetes 引擎上运行,目前使用 pvc 进行数据存储。我只是无法决定我们应该使用 PVC 还是磁盘存储选项?
在 PVC 的情况下,我们不能有快照,除此之外,我们有任何强烈的理由应该选择基于磁盘的存储。什么是可取的?在哪些情况下我们应该考虑使用磁盘而不是 pvc
kubernetes - 在连接 EBS 的同一节点上缩放 pod
我想在已附加一个与 pod 关联的 EBS 卷的同一工作节点中扩展 pod。我怎样才能实现它?
谢谢
kubernetes - GKE (1.7.12-gke.1) 动态配置:在 containerFS 中创建目录内容,而不是在卷 FS 中创建
我有一个 1.7.12-gke.1 集群。
问题
- 当我动态配置卷时,我创建了一个 PVC。
- 在将数据引导到该 PVC 后,我终止了生成数据的容器。
- 然后,我启动了第二个容器,它绑定了相同的 PVC。
我希望第一个目录中的 postgres /data 文件将在新容器中可见......但它们不是。
挂载时通常可以看到它们之间的文件,但是由于某种原因,postgres 创建的所有文件在 data/ 目录下,在新 pod 中不可见。
细节
不知何故,这个特定目录的子内容似乎没有存储到卷中(或者至少,不是以这样一种方式,即它们以后可以从同一个 PVC 安装在新容器中)。
我在卷中引导数据目录,如下所示:
在这个 pod 启动后,我可以看到卷中有大量数据:
但是,当我在新的 postgres 容器中安装同一个磁盘以进行数据迁移时,我看到以下内容......没有文件(但数据目录以某种方式可见)。
请注意,在第二种情况下,我的用户是postgres:x:70:70::/var/lib/postgresql:/bin/sh
,并且在第一种情况下我使用相同的 ID (70),所以数字用户 ID 应该是相同的,因此我看不出这可能是权限错误的任何原因(尽管我可能是错的)。
一些后续问题,以防主要问题“我的 /data 内容在哪里?” 不容易回答:
1) 是否有一种简单的方法来确认或下载动态配置的卷内容?我宁愿不依赖 kubernetes 来调试卷是否具有正确的内容,因为容器挂载可能会做一些奇怪的事情。
2) 是否有任何原因导致特定子目录内容在使用与我最初写入内容相同的 PVC 的新 pod 中不可见?
kubernetes - 在 storageclass.storage.k8s.io 中创建持久卷结果“快速”未找到
我使用 kubeadm 在两个 Centos7 虚拟机上安装了 kubernetes。
我正在尝试遵循示例:使用有状态集或Scalable-Cassandra-deployment-on-kubernetes示例部署 Cassandra。
创建本地卷有效,但kubectl get pvc
始终会导致Pending状态。kubectl descrive pvc <*pvc name*>
导致以下警告:
我不确定如何创建“快速”存储类以使卷能够成功创建并完成示例。
kubernetes - 未找到 Kubernetes StorageClass
我遇到了动态存储配置程序的问题。我创建了存储类(已编辑)
当我创建一个引用其中一个存储类的 pvc 时,它失败了
知道为什么它失败了
这是慢速sc的描述
kubernetes - 连接到 Kubernetes 中的持久卷?
我正在将堆栈转换为 k8s。数据库需要持久存储。
我用过kubectl create -f pv.yaml
pv.yaml (根据@whites11 的回答进行编辑):
然后我创建一个示例 mongo 副本集。
当我查看我的 k8s 仪表板时,我看到了错误:
PersistentVolumeClaim 未绑定:“mongo-persistent-storage-mongo-0”(重复 2 次)
在持久卷选项卡中,我看到看起来不错的卷:
我无法确定下一步以使批量声明成功发生。
编辑#2
我进入 GUI 上的 PVC 页面并手动向声明中添加了一个卷(基于来自 @whites11 的反馈)。我可以看到 PVC 已随卷更新,但仍处于待处理状态。
编辑#3
意识到自从做出@whites11 建议的更改后,pod 中的原始错误消息已更改。现在是“找不到持久卷“pvvolume”(重复2次)”,我想我只需要弄清楚我在哪里写了pvvolume,而不是pv-volume。(或者它可能是在-
某个地方自动解析出来的?