首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes PVC不与NFS PV绑定

Kubernetes PVC不与NFS PV绑定
EN

Stack Overflow用户
提问于 2017-05-22 19:21:27
回答 2查看 8.3K关注 0票数 3

我使用NFS和PVC为同一个卷创建了一个物理卷。但是,PVC总是创建EBS磁盘存储,而不是绑定到PV。请参阅下面的日志:

代码语言:javascript
复制
> kubectl get pv
NAME      CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM     STORAGECLASS   REASON    AGE
mynfspv   100Gi      RWX           Retain          Available                                      7s

现在就创建PVC

代码语言:javascript
复制
> kubectl get pvc
NAME       STATUS    VOLUME                                     CAPACITY   ACCESSMODES   STORAGECLASS   AGE
mynfspvc   Bound     pvc-a081c470-3f23-11e7-9d30-024e42ef6b60   100Gi      RWX           default        4s


> kubectl get pv
NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM              STORAGECLASS   REASON    AGE
mynfspv                                    100Gi      RWX           Retain          Available                                               50s
pvc-a081c470-3f23-11e7-9d30-024e42ef6b60   100Gi      RWX           Delete          Bound       default/mynfspvc   default                  17s

nfs-pv.yaml

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mynfspv
  labels:
    name: nfs2
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    server: dbc56.efs.us-west-2.amazonaws.com
    path: /

nfs-pvc.yaml

代码语言:javascript
复制
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mynfspvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-24 02:46:22

看起来您已经启用了动态配置和默认存储功能,默认的类是AWS。可以使用以下命令检查默认类:

代码语言:javascript
复制
$ kubectl get storageclasses
NAME                 TYPE
standard (default)   kubernetes.io/aws-ebs

如果这是正确的,那么我认为您需要指定存储类来解决问题。

代码语言:javascript
复制
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: nfs-class
provisioner: kubernetes.io/fake-nfs

storageClassName添加到两个PV中

代码语言:javascript
复制
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mynfspvc
spec:
  storageClassName: nfs-class
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi

和PVC

代码语言:javascript
复制
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mynfspv
  labels:
    name: nfs2
spec:
  storageClassName: nfs-class
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    server: dbc56.efs.us-west-2.amazonaws.com
    path: /

您可以查看https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1获得详细信息。

票数 9
EN

Stack Overflow用户

发布于 2017-05-25 05:28:39

这是什么版本的库贝?其根本原因是@ddysher所提到的。在您的设置中,“默认”存储类是"EBS“,在get pv{c}输出中可以看到。根据库贝版本,你也可以使用PVC规格中的“口径选择器”。参考# https://github.com/kubernetes/community/blob/master/contributors/design-proposals/volume-selectors.md

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44120612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档