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