必需值:在静态配置PV时必须指定卷类型

时间:2019-05-02 15:23:21

标签: kubernetes google-kubernetes-engine

尝试通过GCP SSD存储器静态配置PV。错误消息如下:

indexPaths

复制步骤:

The PersistentVolume "monitoring" is invalid: spec: Required value: must specify a volume type

Kubernetes版本:

$ cat storage.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ssd
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd
reclaimPolicy: Retain


$ kubectl apply -f storage.yaml
storageclass.storage.k8s.io/ssd created


$ cat pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: monitoring
spec:
  storageClassName: ssd
  capacity:
    storage: 50Gi
  persistentVolumeReclaimPolicy: Retain
  accessModes:
    - ReadWriteOnce


$ kubectl apply -f pv.yaml
The PersistentVolume "monitoring" is invalid: spec: Required value: must specify a volume type

2 个答案:

答案 0 :(得分:2)

如果使用预配器,通常不会自行创建PV。只需创建一个需要创建存储类的PVC,GKE就会为PV提供所需的存储大小和种类:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: my-retain-ssd-storage
  namespace: default
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
  storageClassName: ssd

答案 1 :(得分:1)

无需创建存储类,只需更正您的要求

查看我的文件,在此处添加HostPath。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: log-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/opt/volume/nginx"

和PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: log-claim
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 200Mi
  storageClassName: manual