kubernetes - Kubernetes Google Cloud 中的 VolumeClaim
问题描述
我正在尝试在 Google Kubernetes Engine 上创建 PersistentVolume 和 PersistentVolumeClaim。
链接它们的方法是通过 labelSelector。我正在使用此定义创建对象:
卷.yml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-test
namespace: mynamespace
labels:
pv-owner: owner
pv-usage: pv-test
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
hostPath:
path: /data/test/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-test
namespace: mynamespace
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
selector:
matchLabels:
pv-usage: pv-test
并运行:
kubectl apply -f volume.yml
这两个对象都已成功创建,但是,VolumeClaim 显然一直处于等待状态,等待符合其要求的 Volume。
请你帮助我好吗?
谢谢!
解决方案
首先,PersistentVolume
资源不属于任何命名空间。它们是集群级资源,如节点,但PersistentVolumeClaim
对象只能在特定命名空间中创建。
似乎当您之前创建声明时,它立即绑定到PersistentVolume
. 你能显示命令的输出吗:
$ kubectl get pv
$ kubectl get pvc
很可能您persistentVolumeReclaimPolicy
已设置为Retain
,因此您PersistentVolume
现在处于Released
状态。由于没有其他PersistenVolume
资源符合您的索赔要求,因此您PersistentVolumeClaim
处于Pending
状态。
推荐阅读
- windows - Jenkinsfile:如何在另一个节点上部署和运行工件
- python - 使用 Django 在 Heroku 上发生错误 H10 应用程序崩溃
- c# - Newton.JSON 将数字序列化为枚举项
- ios - 如何修复 IOS 上未找到模块“GoogleMobileAds”错误?
- excel - 更改现有图表 (VBA) 上的源数据
- java - Adding user-inputted values together and printing them
- jquery - 选择日期后日期选择器不隐藏
- amazon-web-services - AWS CLI CloudTrail“查找事件”过滤器 accessKeyId
- javascript - Javascript 计算器 JS - 开关案例
- android - 当我们有一个活动的多个实例时,Android 将活动置于最前面