2.12. Docker 스토리지 재설정


컨테이너 이미지를 다운로드하고 컨테이너를 실행하고 삭제할 때 Docker에서 매핑된 디스크 공간을 항상 확보하지는 않습니다. 결과적으로 시간이 지남에 따라 노드에서 공간이 부족하여 OpenShift Container Platform에서 새 Pod를 생성하거나 Pod를 생성하는 데 몇 분이 걸릴 수 있습니다.

예를 들어 다음은 6분 후에도 ContainerCreating 상태에 있는 Pod를 표시하고 이벤트 로그에 FailedSync 이벤트가 표시됩니다.

$ oc get pod

출력 예

NAME                               READY     STATUS              RESTARTS   AGE
cakephp-mysql-persistent-1-build   0/1       ContainerCreating   0          6m
mysql-1-9767d                      0/1       ContainerCreating   0          2m
mysql-1-deploy                     0/1       ContainerCreating   0          6m

$ oc get events

출력 예

LASTSEEN   FIRSTSEEN   COUNT     NAME                               KIND                    SUBOBJECT                     TYPE      REASON                         SOURCE                                                 MESSAGE
6m         6m          1         cakephp-mysql-persistent-1-build   Pod                                                   Normal    Scheduled                      default-scheduler                                      Successfully assigned cakephp-mysql-persistent-1-build to ip-172-31-71-195.us-east-2.compute.internal
2m         5m          4         cakephp-mysql-persistent-1-build   Pod                                                   Warning   FailedSync                     kubelet, ip-172-31-71-195.us-east-2.compute.internal   Error syncing pod
2m         4m          4         cakephp-mysql-persistent-1-build   Pod                                                   Normal    SandboxChanged                 kubelet, ip-172-31-71-195.us-east-2.compute.internal   Pod sandbox changed, it will be killed and re-created.

이 문제에 대한 한 가지 해결책은 Docker에서 필요하지 않은 아티팩트를 제거하도록 Docker 스토리지를 재설정하는 것입니다.

Docker 스토리지를 다시 시작하려는 노드에서 다음을 수행합니다.

  1. 다음 명령을 실행하여 노드를 예약할 수 없음으로 표시합니다.

    $ oc adm manage-node <node> --schedulable=false
  2. 다음 명령을 실행하여 Docker 및 atomic-openshift-node 서비스를 종료합니다.

    $ systemctl stop docker atomic-openshift-node
  3. 다음 명령을 실행하여 로컬 볼륨 디렉터리를 제거합니다.

    $ rm -rf /var/lib/origin/openshift.local.volumes

    이 명령은 로컬 이미지 캐시를 지웁니다. 결과적으로 이미지( ose-* 이미지 포함)를 다시 가져와야 합니다. 이렇게 하면 이미지 저장소가 복구되는 동안 Pod 시작 시간이 느려질 수 있습니다.

  4. /var/lib/docker 디렉토리를 제거합니다.

    $ rm -rf /var/lib/docker
  5. 다음 명령을 실행하여 Docker 스토리지를 재설정합니다.

    $ docker-storage-setup --reset
  6. 다음 명령을 실행하여 Docker 스토리지를 다시 생성합니다.

    $ docker-storage-setup
  7. /var/lib/docker 디렉터리를 다시 생성합니다.

    $ mkdir /var/lib/docker
  8. 다음 명령을 실행하여 Docker 및 atomic-openshift-node 서비스를 다시 시작합니다.

    $ systemctl start docker atomic-openshift-node
  9. 호스트를 재부팅하여 노드 서비스를 다시 시작하십시오.

    # systemctl restart atomic-openshift-node.service
  10. 다음 명령을 실행하여 노드를 예약 가능으로 표시합니다.

    $ oc adm manage-node <node> --schedulable=true
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.