2016-05-31 2 views
8

kubectl을 사용하여 Deployment/Job으로 pod를 만들 수 있다는 것을 알고 있습니다. 그러나 볼륨이 첨부 된 볼륨을 만들 수 있습니까? 이 명령을 실행 해 보았습니다 :kubectl을 사용하여 볼륨이있는 kubernetes pod 만들기 실행

kubectl run -i --rm --tty ubuntu --overrides='{ "apiVersion":"batch/v1", "spec": {"containers": {"image": "ubuntu:14.04", "volumeMounts": {"mountPath": "/home/store", "name":"store"}}, "volumes":{"name":"store", "emptyDir":{}}}}' --image=ubuntu:14.04 --restart=Never -- bash 

하지만 볼륨은 대화 형 bash에 표시되지 않습니다.

첨부 할 수있는 볼륨이있는 창을 만드는 더 좋은 방법이 있습니까?

+0

kubectl create를 사용해 보았지만 exec/attach를했지만 나에게 도움이되지 못했습니다. 하지만 그 이유는 아마도 내가이 버그를 겪고 있었기 때문일 것입니다. https://github.com/kubernetes/kubernetes/issues/16670 –

답변

12

JSON 무시가 잘못 지정되었습니다. 불행히도 kubectl은 이해하지 못하는 필드를 무시합니다.

kubectl run -i --rm --tty ubuntu --overrides=' 
{ 
    "apiVersion": "batch/v1", 
    "spec": { 
    "template": { 
     "spec": { 
     "containers": [ 
      { 
      "name": "ubuntu", 
      "image": "ubuntu:14.04", 
      "args": [ 
       "bash" 
      ], 
      "stdin": true, 
      "stdinOnce": true, 
      "tty": true, 
      "volumeMounts": [{ 
       "mountPath": "/home/store", 
       "name": "store" 
      }] 
      } 
     ], 
     "volumes": [{ 
      "name":"store", 
      "emptyDir":{} 
     }] 
     } 
    } 
    } 
} 
' --image=ubuntu:14.04 --restart=Never -- bash 

이 내가 지정한 명령을 실행 문제, 그리고 다른 터미널 RAN에서 디버깅하려면 :

kubectl get job ubuntu -o json 

은 거기에서 실제 작업 구조가 당신의 JSON 재정과 다른 것을 볼 수 있습니다 (당신은했다 중첩 된 템플리트/스펙 누락, 볼륨, volumeMount 및 컨테이너가 배열이어야 함).

+0

감사합니다. 특히 디버깅 팁이 있습니다. 만드는 일을 한 다음 첨부하는 것이 더 좋은 방법 일 수 있습니다. (어떤 이유로 굳이 skydns 유효성 검사 단계를 수행하는 데 가장 힘든시기입니다. 첨부/실행 단계가 멈 춥니 다.) 이러한 상황을 디버깅하는 데 대한 조언이 있습니까? –

관련 문제