kubernetes - Kubernetes:PersistentVolumeClaim 错误,Forbidden:创建后不可变,但绑定声明的 resources.requests 除外
问题描述
我已经创建了一个 StorageClass 和 PersistentVolume,但是当我尝试创建一个 PersistentVolumeClaim 时,我收到以下错误,“PersistentVolumeClaim “esp-pv”无效:规范:禁止:在创建后是不可变的,除了用于绑定声明的 resources.requests ”。正如其他帖子所建议的那样,我尝试删除 StorageClass PersistentVolume 和 PersistentVolumeClaim,然后重新创建 sc、pv 和 pvc,但我得到了同样的错误。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: manual
provisioner: kubernetes.io/no-provisioner
#volumeBindingMode: WaitForFirstConsumer
volumeBindingMode: Immediate
allowVolumeExpansion: true
apiVersion: v1
kind: PersistentVolume
metadata:
name: esp-pv-volume # name of the pv
namespace: espkube # namespace where the p vis applied
labels:
type: local
spec:
storageClassName: manual
accessModes:
- ReadWriteMany # esp, studio and streamviewer can all write to this space
hostPath:
path: "/mnt/data/"
capacity:
storage: 10Gi # volume size requested
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: esp-pv
namespace: espkube
spec:
storageClassName: manual
accessModes:
- ReadWriteMany # esp, studio and streamviewer can all write to this space
resources:
requests:
storage: 10Gi # volume size requested
解决方案
在注释中解决,删除命名空间对象(其中大部分)需要指定命名空间。
推荐阅读
- stata - 更改变量名称中的文本顺序
- r - 第一个参数不是开放的 RODBC 通道
- c++ - 为什么可变参数函数不适用于模板
- python - 如何拆分成二维数组python
- google-maps - Google 地址建议国家/地区限制无法正常工作
- java - 如何在我的 batis 中从 database.confid 中读取属性值
- c# - 列表
循环后不保存 - powershell - 为什么 PowerShell 中的变量扩展为 `-encodedCommand` 而不是其实际值?
- postgresql - Postgresql:为什么 \d+ 表不显示默认为空
- c# - 使用 Jenkins 自动部署 Service Fabric 应用程序会产生“目标不存在”错误