5.9. 스토리지 구성


주의

OpenShift Dev Spaces는 NFS(Network File System) 프로토콜을 지원하지 않습니다.

5.9.1. 스토리지 클래스 구성

구성된 인프라 스토리지를 사용하도록 OpenShift Dev Spaces를 구성하려면 스토리지 클래스를 사용하여 OpenShift Dev Spaces를 설치합니다. 이는 기본이 아닌 프로비저너에서 제공하는 영구 볼륨을 바인딩하려는 경우 특히 유용합니다.

OpenShift Dev Spaces에는 데이터를 저장하기 위해 영구 볼륨이 필요한 하나의 구성 요소가 있습니다.

  • OpenShift Dev Spaces 작업 공간. OpenShift Dev Spaces 작업 공간은 볼륨을 사용하여 소스 코드를 저장합니다(예: /projects 볼륨).
참고

OpenShift Dev Spaces 작업 공간 소스 코드는 작업 공간이 임시가 아닌 경우에만 영구 볼륨에 저장됩니다.

영구 볼륨 클레임 팩트:

  • OpenShift Dev Spaces는 인프라에서 영구 볼륨을 생성하지 않습니다.
  • OpenShift Dev Spaces는 PVC(영구 볼륨 클레임)를 사용하여 영구 볼륨을 마운트합니다.
  • Dev Workspace Operator는 영구 볼륨 클레임을 생성합니다.

    OpenShift Dev Spaces PVC의 스토리지 클래스 기능을 사용하도록 OpenShift Dev Spaces 구성에 스토리지 클래스 이름을 정의합니다.

프로세스

CheCluster 사용자 정의 리소스 정의를 사용하여 스토리지 클래스를 정의합니다.

  1. 스토리지 클래스 이름을 정의합니다. CheCluster 사용자 정의 리소스를 구성하고 OpenShift Dev Spaces를 설치합니다. 5.1.1절. “dsc를 사용하여 설치 중에 CheCluster 사용자 정의 리소스 구성”을 참조하십시오.

    spec:
      devEnvironments:
        storage:
          perUserStrategyPvcConfig:
            claimSize: <claim_size> 
    1
    
            storageClass: <storage_class_name> 
    2
    
          perWorkspaceStrategyPvcConfig:
            claimSize: <claim_size> 
    3
    
            storageClass: <storage_class_name> 
    4
    
          pvcStrategy: <pvc_strategy> 
    5
    Copy to Clipboard Toggle word wrap
    1 3
    영구 볼륨 클레임 크기.
    2 4
    영구 볼륨 클레임의 스토리지 클래스입니다. 생략하거나 비워 두면 기본 스토리지 클래스가 사용됩니다.
    5
    영구 볼륨 클레임 전략. 지원되는 전략은 사용자당(한 볼륨의 모든 작업 공간) 볼륨 클레임, 작업 공간당(각 작업 공간에는 개별 영구 볼륨 클레임) 및 임시(작업 공간이 중지될 때 로컬 변경 사항이 손실되는 비영구 스토리지)입니다.

5.9.2. 스토리지 전략 구성

OpenShift Dev Spaces는 스토리지 전략을 선택하여 작업 공간에 영구 스토리지 또는 비영구 스토리지를 제공하도록 구성할 수 있습니다. 선택한 스토리지 전략은 기본적으로 새로 생성된 모든 작업 공간에 적용됩니다. 사용자는 devfile 의 작업 공간 또는 URL 매개변수를 통해 기본이 아닌 스토리지 전략을 선택할 수 있습니다.

사용 가능한 스토리지 전략:

  • 사용자별: 사용자가 생성한 모든 작업 공간에 단일 PVC를 사용합니다.
  • 작업별: 각 작업 공간에는 자체 PVC가 제공됩니다.
  • ephemeral: 비영구 스토리지; 작업 영역을 중지하면 로컬 변경 사항이 손실됩니다.

OpenShift Dev Spaces에 사용되는 기본 스토리지 전략은 사용자당 입니다.

프로세스

  1. Che Cluster 사용자 정의 리소스의 pvcStrategy 필드를 사용자당,Workspace별 또는 임시 로 설정합니다.
참고
spec:
  devEnvironments:
    storage:
      pvc:
        pvcStrategy: 'per-user' 
1
Copy to Clipboard Toggle word wrap
1
사용 가능한 스토리지 전략은 사용자당,작업당임시 입니다.

5.9.3. 스토리지 크기 구성

사용자 또는 작업 스토리지 전략을 사용하여 PVC(영구 볼륨 클레임) 크기를 구성할 수 있습니다. CheCluster 사용자 정의 리소스에서 PVC 크기를 Kubernetes 리소스 수량 의 형식으로 지정해야 합니다. 사용 가능한 스토리지 전략에 대한 자세한 내용은 이 페이지를 참조하십시오.

기본 영구 볼륨 클레임 크기:

  • per-user: 10Gi
    Copy to Clipboard Toggle word wrap
  • per-workspace: 5Gi
    Copy to Clipboard Toggle word wrap

프로세스

  1. Che Cluster 사용자 정의 리소스에서 원하는 스토리지 전략에 적절한 claimSize 필드를 설정합니다.
참고
spec:
  devEnvironments:
    storage:
      pvc:
        pvcStrategy: '<strategy_name>'  
1

        perUserStrategyPvcConfig: 
2

          claimSize: <resource_quantity> 
3

        perWorkspaceStrategyPvcConfig:  
4

          claimSize: <resource_quantity> 
5
Copy to Clipboard Toggle word wrap
1
스토리지 전략( 사용자별 또는 작업별 또는 임시 )을 선택합니다. 참고: 임시 스토리지 전략에서는 영구 스토리지를 사용하지 않으므로 스토리지 크기 또는 기타 PVC 관련 속성을 구성할 수 없습니다.
2 4
다음 행에서 클레임 크기를 지정하거나 다음 행을 생략하여 기본 클레임 크기 값을 설정합니다. 지정된 클레임 크기는 이 스토리지 전략을 선택할 때만 사용됩니다.
3 5
클레임 크기는 Kubernetes 리소스 수로 지정해야 합니다. 사용 가능한 양 단위는 Ei,Pi,Ti,Gi,MiKi 가 포함됩니다.

중요

OpenShift Dev Spaces에서 프로비저닝한 클러스터에서 PVC를 수동으로 수정하는 것은 공식적으로 지원되지 않으며 예기치 않은 결과가 발생할 수 있습니다.

작업 영역에서 사용 중인 PVC의 크기를 조정하려면 PVC 변경을 수행하려면 작업 공간을 다시 시작해야 합니다.

5.9.4. 영구 사용자 홈

Red Hat OpenShift Dev Spaces는 각 비임스페이스 작업 공간을 사용하여 작업 공간 재시작 시 /home/user 디렉토리를 유지할 수 있는 영구적인 홈 디렉터리 기능을 제공합니다. spec.devEnvironments.persistUserhome.enabledtrue 로 설정하여 CheCluster에서 이 기능을 활성화할 수 있습니다.

새로 시작된 작업 공간의 경우 이 기능은 툴 컨테이너의 /home/user 경로에 마운트된 PVC를 생성합니다. 이 문서에서는 devfile의 첫 번째 컨테이너를 참조하는 데 "tools 컨테이너"가 사용됩니다. 이 컨테이너는 기본적으로 프로젝트 소스 코드가 포함된 컨테이너입니다.

PVC가 처음 마운트되면 영구 볼륨의 콘텐츠가 비어 있으므로 /home/user 디렉터리 콘텐츠로 채워야 합니다.

기본적으로 persistUserhome 기능은 init -persistent-home 이라는 새 작업 공간 Pod마다 init 컨테이너를 생성합니다. 이 init 컨테이너는 툴 컨테이너 이미지로 생성되며 stow 명령을 실행하여 영구 볼륨에 심볼릭 링크를 생성하여 /home/user 디렉터리를 채웁니다.

참고

.viminfo.bashrc 파일과 같이 /home/user 디렉터리에 심볼릭 링크할 수 없는 파일의 경우 stow 대신 cp 를 사용합니다.

stow 명령의 주요 기능은 다음을 실행하는 것입니다.

stow -t /home/user/ -d /home/tooling/ --no-folding
Copy to Clipboard Toggle word wrap

위의 명령은 /home/tooling 에 있는 파일 및 디렉토리에 대한 /home/user 에 대한 심볼릭 링크를 만듭니다. 이렇게 하면 영구 볼륨이 /home/tooling 의 콘텐츠에 대한 심볼릭 링크로 채워집니다. 결과적으로 persistUser home 기능은 툴링 이미지에 /home/user/ 콘텐츠가 /home/tooling 내에 있을 것으로 예상합니다.

예를 들어 툴 컨테이너 이미지에 .config 및 .config -folder /another-file 과 같은 홈/tooling 디렉터리에 파일이 포함된 경우 stow는 다음과 같은 방식으로 영구 볼륨에 심볼릭 링크를 생성합니다.

그림 5.11. persistUserhome이 활성화된 툴 컨테이너

init 컨테이너는 stow 명령의 출력을 /home/user/.stow.log 에 쓰고 영구 볼륨이 작업 공간에 처음 마운트될 때만 stow 를 실행합니다.

stow 명령을 사용하여 영구 볼륨에서 /home/user 콘텐츠를 채우면 다음과 같은 두 가지 주요 이점이 있습니다.

  1. 심볼릭 링크를 만드는 것은 영구 볼륨에 /home/user 디렉터리 콘텐츠의 복사본을 생성하는 것보다 적은 스토리지를 사용하는 속도가 빠릅니다. 다르게 설정하기 위해 이 경우 영구 볼륨에는 실제 파일 자체가 아닌 심볼릭 링크가 포함되어 있습니다.
  2. 툴 이미지가 최신 버전의 기존 바이너리, 구성 및 파일로 업데이트되면 기존 심볼릭 링크가 이미 /home/tooling 의 최신 버전에 연결되므로 init 컨테이너가 새 버전을 중단할 필요가 없습니다.
참고

툴링 이미지가 추가 바이너리 또는 파일로 업데이트되면 stow 명령이 다시 실행되지 않기 때문에 /home/user 디렉터리에 심볼릭 링크되지 않습니다. 이 경우 사용자는 /home/user/.stow_completed 파일을 삭제하고 작업 공간을 다시 시작하여 stow 를 재실행해야 합니다.

persistUserhome 툴 이미지 요구 사항

persistUserhome 은 작업 공간에 사용되는 툴 이미지에 따라 다릅니다. 기본적으로 OpenShift Dev Spaces는 샘플 작업 공간에 UDI(Universal Developer Image)를 사용하며 이 이미지는 즉시 persistUser home을 지원합니다.

사용자 지정 이미지를 사용하는 경우 persistUser home 기능을 지원하기 위해 충족해야 하는 세 가지 요구 사항이 있습니다.

  1. 툴 이미지에 stow 버전 >= 2.4.0이 포함되어야 합니다.
  2. $HOME 환경 변수는 /home/user 로 설정됩니다.
  3. 툴 이미지에서 /home/user 콘텐츠를 포함하기 위한 디렉터리는 /home/tooling 입니다.

요구 사항 3으로 인해 기본 UDI 이미지는 예를 들어 /home/user 콘텐츠를 /home/tooling 에 추가하고 실행합니다.

RUN stow -t /home/user/ -d /home/tooling/ --no-folding
Copy to Clipboard Toggle word wrap

Dockerfile에서 /home/tooling 의 파일은 persistUserhome Home 기능을 사용하지 않는 경우에도 /home/user 에서 액세스할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat