6.3.4. Pod에 볼륨 추가

Pod에 볼륨 및 볼륨 마운트를 추가할 수 있습니다.

프로세스

볼륨, 볼륨 마운트 또는 둘 다를 Pod 템플릿에 추가하려면 다음을 실행합니다.

$ oc set volume <object_type>/<name> --add [options]

표 6.2. 볼륨 추가에 지원되는 옵션

옵션설명기본

--name

볼륨 이름입니다.

지정하지 않으면 자동으로 생성됩니다.

-t, --type

볼륨 소스의 이름입니다. 지원되는 값은 emptyDir, hostPath, secret, configmap, persistentVolumeClaim 또는 projected입니다.

emptyDir

-c, --containers

이름으로 컨테이너를 선택합니다. 문자와 일치하는 와일드카드 '*'를 사용할 수도 있습니다.

'*'

-m, --mount-path

선택한 컨테이너 내부의 마운트 경로입니다. 컨테이너 루트, / 또는 호스트와 컨테이너에서 동일한 경로에 마운트하지 마십시오. 컨테이너가 호스트 /dev/pts 파일과 같이 충분한 권한이 있는 경우 호스트 시스템이 손상될 수 있습니다. /host를 사용하여 호스트를 마운트하는 것이 안전합니다.

 

--path

호스트 경로입니다. --type=hostPath에 대한 필수 매개변수입니다. 컨테이너 루트, / 또는 호스트와 컨테이너에서 동일한 경로에 마운트하지 마십시오. 컨테이너가 호스트 /dev/pts 파일과 같이 충분한 권한이 있는 경우 호스트 시스템이 손상될 수 있습니다. /host를 사용하여 호스트를 마운트하는 것이 안전합니다.

 

--secret-name

보안의 이름입니다. --type=secret에 대한 필수 매개변수입니다.

 

--configmap-name

구성 맵의 이름입니다. --type=configmap에 대한 필수 매개변수입니다.

 

--claim-name

영구 볼륨 클레임의 이름입니다. --type=persistentVolumeClaim에 대한 필수 매개변수입니다.

 

--source

JSON 문자열로 된 볼륨 소스 세부 정보입니다. 필요한 볼륨 소스를 --type에서 지원하지 않는 경우 사용하는 것이 좋습니다.

 

-o, --output

수정된 오브젝트를 서버에서 업데이트하는 대신 표시합니다. 지원되는 값은 json, yaml입니다.

 

--output-version

지정된 버전으로 수정된 오브젝트를 출력합니다.

api-version

예를 들면 다음과 같습니다.

  • 레지스트리 DeploymentConfig 오브젝트에 새 볼륨 소스 emptyDir을 추가하려면 다음을 실행합니다.

    $ oc set volume dc/registry --add
  • 복제 컨트롤러 r1에 대해 보안 secret1을 사용하여 볼륨 v1을 추가하고 /data:의 컨테이너 내부에 마운트하려면 다음을 실행합니다.

    $ oc set volume rc/r1 --add --name=v1 --type=secret --secret-name='secret1' --mount-path=/data
  • 클레임 이름이 pvc1인 기존 영구 볼륨 v1을 디스크의 배포 구성 dc.json에 추가하려면 /data의 컨테이너 c1에 볼륨을 마운트하고 서버에서 DeploymentConfig 오브젝트를 업데이트합니다.

    $ oc set volume -f dc.json --add --name=v1 --type=persistentVolumeClaim \
      --claim-name=pvc1 --mount-path=/data --containers=c1
  • 모든 복제 컨트롤러에서 수정 버전이 5125c45f9f563인 Git 리포지토리 https://github.com/namespace1/project1을 기반으로 볼륨 v1을 추가하려면 다음을 실행합니다.

    $ oc set volume rc --all --add --name=v1 \
      --source='{"gitRepo": {
                    "repository": "https://github.com/namespace1/project1",
                    "revision": "5125c45f9f563"
                }}'