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 를 설정하려면 다음을 수행합니다.
원하는 네임스페이스를 선택합니다.
- Administration > Namespaces 를 클릭합니다.
- 네임스페이스 페이지에서 원하는 네임스페이스를 클릭합니다. 네임스페이스 세부 정보 페이지가 표시됩니다.
네임스페이스에
fsGroupChangePolicy레이블을 추가합니다.- 라벨 옆에 있는 네임스페이스 세부 정보 페이지에서 편집을 클릭합니다.
레이블 편집 대화 상자에서
storage.openshift.io/fsgroup-change-policy레이블을 추가하고 다음과 같이 설정합니다.-
OnRootMismatch: 루트 디렉터리의 권한 및 소유권이 볼륨의 예상 권한과 일치하지 않는 경우에만 권한 및 소유권을 변경하여 Pod 시간 초과 문제를 방지합니다. -
Always: (기본값) 볼륨이 마운트될 때 볼륨의 권한 및 소유권을 항상 변경하는 것을 지정합니다.
-
- 저장을 클릭합니다.
검증
이전에 편집한 네임스페이스에서 Pod를 시작하고 spec.securityContext.fsGroupChangePolicy 매개변수에 네임스페이스에 설정한 값이 포함되어 있는지 확인합니다.
fsGroupChangePolicy 설정을 표시하는 Pod YAML 파일의 예
- 1
- 이 값은 네임스페이스에서 상속됩니다.
3.6.2. Pod 수준에서 fsGroup 변경 링크 복사링크가 클립보드에 복사되었습니다!
새 배포 또는 기존 배포에서 fsGroupChangePolicy 매개변수를 설정한 다음 관리하는 Pod에 이 매개변수 값이 있습니다. 상태 저장 세트에서도 이 작업을 수행할 수 있습니다. 기존 Pod를 편집하여 fsGroupChangePolicy 를 설정할 수 없습니다. 그러나 새 Pod를 생성할 때 이 매개변수를 설정할 수 있습니다.
다음 절차에서는 기존 배포에서 fsGroupChangePolicy 매개변수를 설정하는 방법을 설명합니다.
사전 요구 사항
- OpenShift Dedicated 콘솔에 액세스합니다.
절차
기존 배포에서 fsGroupChangePolicy 매개변수를 설정하려면 다음을 수행합니다.
- 워크로드 > 배포를 클릭합니다.
- 배포 페이지에서 원하는 배포를 클릭합니다.
- Deployment details 페이지에서 YAML 탭을 클릭합니다.
다음 예제 파일을 사용하여
spec.template.spec.securityContext에서 배포의 YAML 파일을 편집합니다.배포 YAML 파일 설정
fsGroupChangePolicy의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
OnRootMismatch는 재귀 권한 변경을 건너뛰어 Pod 시간 초과 문제를 방지합니다. 기본값은Always이며, 볼륨이 마운트될 때 볼륨의 권한 및 소유권을 항상 변경합니다.
- 저장을 클릭합니다.