Kubernetes – dynamicconfiguration存储

我有一个部署configuration如下:

apiVersion: extensions/v1beta1 kind: Deployment --- REMOVED FOR BREVITY --- volumes: - gcePersistentDisk: {fsType: pd-ssd, pdName: devtasker-disk} name: devtasker-disk - gcePersistentDisk: {fsType: pd-ssd, pdName: devtasker-pg} name: devtasker-pg 

这工作正常,但是它需要手动创build持久卷,然后才能进行部署。

我在Kubernetes 1.4看到他们发布了“Dyanmic Provisioning&Storage Classes”。

我已经添加了一个存储类如下:

 kind: StorageClass apiVersion: storage.k8s.io/v1beta1 metadata: name: ssd-storage provisioner: kubernetes.io/gce-pd parameters: type: pd-ssd 

我现在想添加一个PVC到我上面提到的部署configuration文件。 上述存储级别的标准PVC是这样的:

 apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: {volume.beta.kubernetes.io/storage-class: ssd-storage} name: claim1 spec: accessModes: [ReadWriteOnce] resources: requests: {storage: 30Gi} 

我努力得到上面的PVC到我上面的第一个代码块中提到的部署configuration。

我试过这个:

  volumes: - gcePersistentDisk: {fsType: pd-ssd, pdName: devtasker-disk} name: devtasker-disk - gcePersistentDisk: {fsType: pd-ssd, pdName: devtasker-pg} name: devtasker-pg - persistentVolumeClaim: {claimName: ssd-storage, annotations: {volume.beta.kubernetes.io/storage-class: ssd-storage}} name: ssd-storage 

..但我没有任何运气与许多不同的组合。 我得到以下内容:

 error validating "kubernetes/deployment.yml": error validating data: found invalid field annotations for v1.PersistentVolumeClaimVolumeSource; if you choose to ignore these errors, turn validation off with --validate=false 

任何人都可以在这里指出正确的方向吗?

存储类讲述如何创buildPV。 PVC声明要求来自下划线基础设施的实际PV。

您的部署应该只知道PVC,所以使用您的示例,您将最终得到以下内容并删除gcePersistentDisk条目:

 volumes: - name: storage persistentVolumeClaim claimName: claim1 - name: storage2 persistentVolumeClaim claimName: claim2