2016-10-20 2 views
1

의 동적 프로비저닝 나는 배치 구성을 가지고있다.는 Kubernetes 다음과 같이 저장

Kubernetes 1.4에서 "Dyanmic Provisioning & 스토리지 클래스"를 릴리스했습니다. 지금 위에서 언급 한 내 배포 구성 파일에 PVC를 추가 할

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

다음과 같이

나는 스토리지 클래스를 추가했습니다. 위의 저장 클래스에 대한 표준 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 

아무도 올바른 방향으로 여기를 가르쳐 주시겠습니까?

+0

을 오류를 지적한 이후 참조 용으로 여기에 파일을 올리십시오. –

답변

2

저장 클래스는 PV를 만드는 방법을 알려줍니다. PVC 주장은 하부 인프라에서 실제 PV를 요청합니다.

만이 다음으로 끝날 것이다 그래서 당신의 예를 사용하여 PVC에 대해 알고와 gcePersistentDisk 항목을 제거해야합니다 귀하의 배포 : 당신이 전체 "는 Kubernetes/deployment.yml"을 게시 할 수 있습니다

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