Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

3.9.7. 로컬 볼륨 사용량 차단

DockerfileVOLUME 명령을 사용하거나 docker run -v <volumename > 명령을 사용하여 볼륨을 프로비저닝하면 호스트의 스토리지 공간이 사용됩니다. 이 스토리지를 사용하면 예기치 않은 공간 문제가 발생하여 호스트를 중단할 수 있습니다.

OpenShift Container Platform에서 자체 이미지를 실행하려고 하면 노드 호스트의 전체 스토리지 공간이 채워지게 됩니다. 이 문제에 대한 한 가지 해결책은 사용자가 볼륨을 사용하여 이미지를 실행하지 못하도록 하는 것입니다. 이렇게 하면 사용자가 액세스할 수 있는 유일한 스토리지를 제한할 수 있으며 클러스터 관리자가 스토리지 할당량을 할당할 수 있습니다.

docker-novolume-plugin 을 사용하면 정의된 로컬 볼륨에서 컨테이너를 시작하지 못하도록 하여 이 문제를 해결합니다. 특히 플러그인은 다음을 포함하는 docker run 명령을 차단합니다.

  • --volumes-from 옵션
  • VOLUME(s)가 정의된 이미지
  • docker volume 명령을 사용하여 프로비저닝된 기존 볼륨에 대한 참조

플러그인은 바인드 마운트에 대한 참조를 차단하지 않습니다.

docker-novolume-plugin 을 활성화하려면 각 노드 호스트에서 다음 단계를 수행합니다.

  1. docker-novolume-plugin 패키지를 설치합니다.

    $ yum install docker-novolume-plugin
  2. docker-novolume-plugin 서비스를 활성화하고 시작합니다.

    $ systemctl enable docker-novolume-plugin
    $ systemctl start docker-novolume-plugin
  3. /etc/sysconfig/docker 파일을 편집하고 OPTIONS 목록에 다음을 추가합니다.

    --authorization-plugin=docker-novolume-plugin
  4. docker 서비스를 다시 시작하십시오.

    $ systemctl restart docker

이 플러그인을 활성화하면 로컬 볼륨이 정의된 컨테이너가 시작되지 않고 다음 오류 메시지가 표시됩니다.

runContainer: API error (500): authorization denied by plugin
docker-novolume-plugin: volumes are not allowed