3.6. fsGroup을 사용하여 Pod 시간 초과 감소


스토리지 볼륨에 많은 파일(예: 100만 개 이상)이 포함된 경우 Pod 시간 초과가 발생할 수 있습니다.

기본적으로 OpenShift Dedicated는 볼륨이 마운트될 때 Pod의 securityContext 에 지정된 fsGroup 과 일치하도록 각 볼륨의 콘텐츠에 대한 소유권 및 권한을 재귀적으로 변경하기 때문에 발생할 수 있습니다. 많은 파일이 있는 볼륨의 경우 소유권 및 권한을 확인하고 변경하는 데 시간이 오래 걸릴 수 있으므로 Pod 시작 속도가 느려질 수 있습니다. securityContext 내에서 fsGroupChangePolicy 필드를 사용하여 OpenShift Dedicated에서 볼륨에 대한 소유권 및 권한을 확인하는 방법을 제어할 수 있습니다.

fsGroupChangePolicy 는 Pod 내에서 노출되기 전에 볼륨의 소유권 및 권한을 변경하는 동작을 정의합니다. 이 필드는 fsGroup- 제어된 소유권 및 권한을 지원하는 볼륨 유형에만 적용됩니다. 이 필드에는 두 가지 가능한 값이 있습니다.

  • OnRootMismatch: root 디렉터리의 권한 및 소유권이 볼륨의 예상 권한과 일치하지 않는 경우에만 권한 및 소유권을 변경합니다. 이를 통해 Pod 시간 초과를 줄이기 위해 볼륨의 소유권 및 권한을 변경하는 데 걸리는 시간을 단축할 수 있습니다.
  • Always: (기본값) 볼륨이 마운트될 때 볼륨의 권한 및 소유권을 항상 변경합니다.
참고

fsGroupChangePolicy 필드는 secret, configMap, emptydir과 같은 임시 볼륨 유형에는 영향을 미치지 않습니다.

네임스페이스 또는 Pod 수준에서 fsGroupChangePolicy 를 설정할 수 있습니다.

3.6.1. 네임스페이스 수준에서 fsGroup 변경

네임스페이스 수준에서 fsGroupChangePolicy 에 원하는 설정을 적용한 후 해당 네임스페이스에서 나중에 생성된 모든 Pod가 해당 설정을 상속합니다. 그러나 필요한 경우 개별 Pod에 대해 상속된 fsGroupChangePolicy 설정을 덮어쓸 수 있습니다. Pod 수준에서 fsGroupChangePolicy 를 설정하면 해당 Pod의 네임스페이스 수준 설정에서 상속이 재정의됩니다.

사전 요구 사항

  • 관리자 권한으로 실행 중인 OpenShift Dedicated 클러스터에 로그인합니다.
  • OpenShift Dedicated 콘솔에 액세스합니다.

절차

네임스페이스당 fsGroupChangePolicy 를 설정하려면 다음을 수행합니다.

  1. 원하는 네임스페이스를 선택합니다.

    1. Administration > Namespaces 를 클릭합니다.
    2. 네임스페이스 페이지에서 원하는 네임스페이스를 클릭합니다. 네임스페이스 세부 정보 페이지가 표시됩니다.
  2. 네임스페이스에 fsGroupChangePolicy 레이블을 추가합니다.

    1. 라벨 옆에 있는 네임스페이스 세부 정보 페이지에서 편집을 클릭합니다.
    2. 레이블 편집 대화 상자에서 storage.openshift.io/fsgroup-change-policy 레이블을 추가하고 다음과 같이 설정합니다.

      • OnRootMismatch: 루트 디렉터리의 권한 및 소유권이 볼륨의 예상 권한과 일치하지 않는 경우에만 권한 및 소유권을 변경하여 Pod 시간 초과 문제를 방지합니다.
      • Always: (기본값) 볼륨이 마운트될 때 볼륨의 권한 및 소유권을 항상 변경하는 것을 지정합니다.
    3. 저장을 클릭합니다.

검증

이전에 편집한 네임스페이스에서 Pod를 시작하고 spec.securityContext.fsGroupChangePolicy 매개변수에 네임스페이스에 설정한 값이 포함되어 있는지 확인합니다.

fsGroupChangePolicy 설정을 표시하는 Pod YAML 파일의 예

securityContext:
  seLinuxOptions:
    level: 's0:c27,c24'
  runAsNonRoot: true
  fsGroup: 1000750000
  fsGroupChangePolicy: OnRootMismatch 
1

  ...
Copy to Clipboard Toggle word wrap

1
이 값은 네임스페이스에서 상속됩니다.

3.6.2. Pod 수준에서 fsGroup 변경

새 배포 또는 기존 배포에서 fsGroupChangePolicy 매개변수를 설정한 다음 관리하는 Pod에 이 매개변수 값이 있습니다. 상태 저장 세트에서도 이 작업을 수행할 수 있습니다. 기존 Pod를 편집하여 fsGroupChangePolicy 를 설정할 수 없습니다. 그러나 새 Pod를 생성할 때 이 매개변수를 설정할 수 있습니다.

다음 절차에서는 기존 배포에서 fsGroupChangePolicy 매개변수를 설정하는 방법을 설명합니다.

사전 요구 사항

  • OpenShift Dedicated 콘솔에 액세스합니다.

절차

기존 배포에서 fsGroupChangePolicy 매개변수를 설정하려면 다음을 수행합니다.

  1. 워크로드 > 배포를 클릭합니다.
  2. 배포 페이지에서 원하는 배포를 클릭합니다.
  3. Deployment details 페이지에서 YAML 탭을 클릭합니다.
  4. 다음 예제 파일을 사용하여 spec.template.spec.securityContext 에서 배포의 YAML 파일을 편집합니다.

    배포 YAML 파일 설정 fsGroupChangePolicy의 예

    ...
    spec:
    replicas: 3
    selector:
    matchLabels:
    app: my-app
    template:
    metadata:
    creationTimestamp: null
    labels:
    app: my-app
    spec:
    containers:
    - name: container
    image: 'image-registry.openshift-image-registry.svc:5000/openshift/httpd:latest'
    ports:
    - containerPort: 8080
    protocol: TCP
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    imagePullPolicy: Always
    restartPolicy: Always
    terminationGracePeriodSeconds: 30
    dnsPolicy: ClusterFirst
    securityContext:
      fsGroupChangePolicy: OnRootMismatch 
    1
    
    ...
    Copy to Clipboard Toggle word wrap

    1
    OnRootMismatch 는 재귀 권한 변경을 건너뛰어 Pod 시간 초과 문제를 방지합니다. 기본값은 Always 이며, 볼륨이 마운트될 때 볼륨의 권한 및 소유권을 항상 변경합니다.
  5. 저장을 클릭합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat