Docker Kubernetes—存储的动态资源调配

Docker Kubernetes—存储的动态资源调配,docker,storage,kubernetes,google-kubernetes-engine,Docker,Storage,Kubernetes,Google Kubernetes Engine,我的部署配置如下所示: apiVersion: extensions/v1beta1 kind: Deployment --- REMOVED FOR BREVITY --- volumes: - gcePersistentDisk: {fsType: pd-ssd, pdName: devtasker-disk} name: devtasker-disk - gcePersistentDisk: {fsType: pd-ssd, pdName

我的部署配置如下所示:

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
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: ssd-storage
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd
这很好,但是需要手动创建持久卷,然后才能进行部署

我在Kubernetes 1.4中看到他们发布了“动态资源调配和存储类”

我添加了一个存储类,如下所示:

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
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: ssd-storage
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd
现在,我想在上面提到的部署配置文件中添加一个PVC。上述存储类别的标准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添加到上面第一个代码块中提到的部署配置中

我试过这个:

      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

有人能给我指出正确的方向吗?

存储类告诉我如何创建PV。PVC索赔要求底层基础设施提供实际PV

您的部署应该只知道PVC,因此使用您的示例,您将得到以下结果并删除
gcePersistentDisk
条目:

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

您可能希望在这里发布完整的“kubernetes/deployment.yml”文件作为参考,因为您得到了指向该文件的点。