kubernetes pv / pvc容量

时间:2015-10-14 09:00:34

标签: kubernetes

我有一个3节点coros kubernetes群集正在运行。

我想从独立的NFS服务器使用persitentvolumes(pv)。

nfs.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: kube1
spec:
  capacity:
    storage: 9.5G
  accessModes:
    - ReadWriteMany
  nfs:
    path: /mnt/nfs/kube1
    server: 10.3.0.3

claim.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc2-1
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1G

kubecfg get pv

kube1 <none> 9500M RWX Released default/pvc2-1

kubecfg get pvc

pvc2-1 <none> Bound kube1 9500M RWX

那么为什么用pv的全部容量创建pvc?我认为pvc只是pv的一部分,否则它就没用了。

此致

cdpb

2 个答案:

答案 0 :(得分:3)

据我所见,这应该是它的工作方式。索赔是针对整个卷。最初让我困惑的部分是resources.requests.storage值,它只是声明所需的最小值。我在Ceph中使用它,当Pods绑定到块设备时,它们占据整个卷。

答案 1 :(得分:0)

  

那为什么要用全部容量的pv创建pvc?我以为pvc只是pv的一部分,否则就没用了。

这不是没有用,它旨在声明持久卷。 requests说,“我至少需要这么多的存储空间”,就像用于Pod的计算一样。

如果您有多个持久卷,这会更清楚:pvc不会获得<1G的pv,但是会获得9.5G pv(或另一个足够大的pv)。

如果要动态设置特定的存储大小,则应创建一个由a volume that supports it支持的存储类。如果要使用NFS,则不需要树内插件,但是可以使用one in kubernetes-incubator