2016-08-21 4 views
1

Kubernetes 1.3에서 Pet Set을 구성하려고합니다. Persistent Volumes, Claims 및 Pods에서 예상대로 작동하는 NFS 저장소 백엔드가 있습니다. 그러나 Pet Set을 만들면 VolumeClaimTemplate이 NFS에 의해 지원되는 영구 볼륨에 바인딩되지 않습니다.Kubernetes Pet Sets with NFS 설정

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: janipv 
spec: 
    capacity: 
    storage: 3Gi 
    accessModes: 
    - ReadWriteMany 
    persistentVolumeReclaimPolicy: Recycle 
    nfs: 
    path: /var/data/test 
    server: 172.17.4.101 

나는 문서의 Pet Set sample 사용할 수 실행 해보십시오, 나는 다음과 같은 메시지가 표시 -

아래는 PV의 정의입니다.

kubelet describe pv 

{persistentvolume-controller }   Warning   ProvisioningFailed  No provisioner plugin found for the claim! 

애완 동물 세트 대신 일반 포드를 사용하면 동일한 구성이 정상적으로 작동합니다.

답변

0

오류가 다음과 같이 표시되는 것처럼 NFS 동적 프로 바이더가 없습니다. http://kubernetes.io/docs/user-guide/petset/#alpha-limitations (작성하지 않은 경우 디버깅을 시작할 수 있음). volumeclaimtemplate 자체는 결코 어떤 것에도 묶이지 않습니다. 볼륨 클레임 생성을위한 템플릿입니다. 컨트롤러는 pet-0, pet-1 ...에 대해 pvc-0, pvc-1 ...을 만듭니다. 이러한 클레임은 동적 볼륨 공급자를 통해 영구 볼륨에 바인딩됩니다 (인간이 pv를 만들고 pvc에 부착하는 정적 볼륨 프로비저닝 프로세스에 반대).

pvc의 volumeName 필드를 설정하여 복제 컨트롤러의 pod와 마찬가지로 기존 pv를 petset 클레임 중 하나에 첨부 할 수 있습니다.

+0

감사합니다. Prashanth! 나는 세 가지 질문이있다. 1) 그렇다. PVC-0 ~ PVC-n의 명명 규칙을 사용하기 전에 PVC를 작성하면 런타임에 컨트롤러에 바인딩된다. 2) 알파 중에 어떤 동적 공급자가 지원됩니까? 3) NFS 공유를 가리키는 hostPath를 사용하는 경우 Pet Set을 사용하여 예상되는 결과를 얻습니까? –

+0

pvc 만 만들면 안됩니다. 바인딩은 프로비저의 작업입니다 (귀하의 경우에는 존재하지 않으므로 프로비저 == 인간 임). 클라우드 제공 업체의 경우 올바른 공급 업체를 시작해야합니다. 금속 인 경우 먼저 공급 업체를 시작해야합니다 (ceph와 gluster가 작동한다고 생각합니다. https://github.com/kubernetes)./kubernetes/pull/30888, https://github.com/kubernetes/kubernetes/pull/31251). –