Kubernetes pod已解除绑定PersistentVolumeClaims

Kubernetes pod已解除绑定PersistentVolumeClaims,kubernetes,persistent-storage,Kubernetes,Persistent Storage,当我推动部署时,出于某种原因,我的播客上出现了错误: pod已解除绑定PersistentVolumeClaims 以下是我的YAML: 这是在本地运行的,而不是在任何云解决方案上 apiVersion:extensions/v1beta1 种类:部署 元数据: 注释: kompose.cmd:kompose转换 kompose.version:1.16.0() creationTimestamp:空 标签: io.kompose.service:ckan 姓名:ckan 规格: 副本:1份 策

当我推动部署时,出于某种原因,我的播客上出现了错误:

pod已解除绑定PersistentVolumeClaims

以下是我的YAML:

这是在本地运行的,而不是在任何云解决方案上

apiVersion:extensions/v1beta1
种类:部署
元数据:
注释:
kompose.cmd:kompose转换
kompose.version:1.16.0()
creationTimestamp:空
标签:
io.kompose.service:ckan
姓名:ckan
规格:
副本:1份
策略:{}
模板:
元数据:
creationTimestamp:空
标签:
io.kompose.service:ckan
规格:
容器:
图片:slckan/docker_ckan
姓名:ckan
端口:
-集装箱港口:5000
资源:{}
体积数量:
-姓名:奇安之家
挂载路径:/usr/lib/ckan/
子路径:ckan
卷数:
-姓名:奇安之家
persistentVolumeClaim:
索赔名称:ckan pv房屋索赔
restartPolicy:始终
状态:{}

kind:PersistentVolumeClaim
版本:v1
元数据:
姓名:ckan pv home claim
标签:
io.kompose.service:ckan
规格:
storageClassName:ckan home sc
访问模式:
-读写
资源:
请求:
储存量:100毫升
volumeMode:文件系统
---
种类:StorageClass
apiVersion:storage.k8s.io/v1
元数据:
姓名:ckan home sc
供应人:kubernetes.io/no-provisioner
安装选项:
-dir_模式=0755
-文件模式=0755
-uid=1000
-gid=1000

您必须定义一个PersistentVolume来提供PersistentVolumeClaim要使用的磁盘空间

使用
storageClass
Kubernetes时,将启用“动态卷资源调配”,这不适用于本地文件系统


要解决您的问题:
  • 提供满足索赔约束的持久卷(大小>=100Mi)
  • PersistentVolumeClaim中删除
    storageClass
    ,或为其提供空值(
  • 从集群中删除StorageClass

这些曲子是如何组合的? 在创建部署状态描述时,通常知道应用程序将需要哪种类型的存储(数量、速度等)。
要使部署具有多功能性,您需要避免对存储的硬依赖。Kubernetes的卷抽象允许您以标准化的方式提供和使用存储

PersistentVolumeClaim用于在部署应用程序的同时提供存储约束

PersistentVolume提供了集群范围的卷实例,可以随时使用(“
bound
”)。一个PersistentVolume将绑定到一个声明。但由于该声明的多个实例可能在多个节点上运行,因此该卷可能由多个节点控制

不带StorageClass的持久卷被认为是静态的

一起使用的存储类允许群集根据需要提供持久卷。 为了实现这一点,给定的存储提供商必须支持—这允许集群在弹出不满意的PersistentVolumeClaim时请求提供“新的”PersistentVolume


PersistentVolume示例 为了找到如何指定内容的最佳建议,请查看,因此以下示例是从中生成的:

apiVersion:v1 种类:PersistentVolume 元数据: 姓名:奇安光伏之家 标签: 类型:本地 规格: 容量: 储存量:100毫升 主机路径: 路径:“/mnt/data/ckan” persistentVolumeSpect允许我们定义多个属性。 我选择了一个
hostPath
卷,它将本地目录映射为卷的内容。容量允许资源计划程序根据资源需求识别此卷


额外资源:

您可能无法删除StorageClass,只需将存储类名的值替换为空字符串就足够了,如StorageClass:“应该如何定义PersistentVolume?”VictorZuanazzi问得好-文档似乎略有更改,我添加了一个示例。一开始,深入研究API是相当困难的。幸运的是,API文档与指南之间经常有交叉引用,反之亦然。我希望这能帮助你继续。谢谢@mrvol的提示-我在描述中添加了这个选项。