3.7. seLinuxChangePolicy를 사용하여 Pod 시간 초과 감소


SELinux(Security-Enhanced Linux)는 시스템의 모든 오브젝트(파일, 프로세스, 네트워크 포트 등)에 보안 레이블(컨텍스트)을 할당하는 보안 메커니즘입니다. 이러한 레이블은 프로세스가 액세스할 수 있는 항목을 결정합니다. OpenShift Dedicated에서 SELinux는 컨테이너가 호스트 시스템 또는 기타 컨테이너를 이스케이프하고 액세스하는 것을 방지하는 데 도움이 됩니다.

Pod가 시작되면 컨테이너 런타임은 Pod의 SELinux 컨텍스트와 일치하도록 볼륨의 모든 파일의 레이블을 재귀적으로 다시 지정합니다. 여러 파일이 있는 볼륨의 경우 Pod 시작 시간이 크게 증가할 수 있습니다.

Mount 옵션은 -o 컨텍스트 마운트 옵션을 사용하여 올바른 SELinux 레이블로 볼륨을 직접 마운트하여 모든 파일의 재귀 레이블을 다시 지정하므로 Pod 시간 초과 문제를 방지할 수 있습니다.

RWOP 및 SELinux 마운트 옵션

RWOP(ReadWriteOncePod) 영구 볼륨은 기본적으로 SELinux 마운트 기능을 사용합니다.

마운트 옵션 기능은 드라이버에 따라 다르며 AWS EBS 및 Red Hat OpenShift Data Foundation에서 기본적으로 활성화됩니다. 타사 드라이버의 경우 스토리지 벤더에 문의하십시오.

RWO 및 RWX 및 SELinux 마운트 옵션

ReadWriteOnce(RWO) 및 ReadWriteMany(RWX) 볼륨은 기본적으로 재귀 재레이블을 사용합니다.

중요

향후 OpenShift Dedicated 버전에서는 RWO 및 RWX 볼륨은 기본적으로 마운트 옵션을 사용합니다.

다음 마운트 옵션 이동을 지원하기 위해 OpenShift Dedicated 4.20은 Pod를 생성하고 실행 중인 Pod에서 SELinux 관련 충돌을 보고하여 잠재적인 충돌을 인식하고 문제를 해결하는 데 도움이 됩니다. 이 보고에 대한 자세한 내용은 Kowledge Base 문서를 참조하십시오.

SELinux 관련 충돌을 확인할 수 없는 경우 선택한 Pod 또는 네임스페이스에 대해 기본적으로 마운트 옵션으로 자동 마운트 해제를 수행할 수 있습니다. 옵트아웃하려면 SELinux 마운트 옵션 비활성화를 참조하십시오.

3.7.1. RWO 및 RWX 및 SELinux 마운트 옵션 테스트

OpenShift Dedicated 4.20에서는 RWO 및 RWX 볼륨의 마운트 옵션 기능을 기술 프리뷰 기능으로 평가할 수 있습니다.

중요

RWO/RWX SELinux 마운트는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

마운트 옵션 기능을 평가하려면 다음을 수행합니다.

  • 기능 게이트를 활성화합니다. 기능 게이트 활성화에 대한 자세한 내용은 기능 게이트를 사용하여 기능 활성화 섹션을 참조하십시오.

    이제 RWO 및 RWX 볼륨에는 기본 동작으로 마운트 옵션이 있습니다.

애플리케이션을 신중하게 테스트하고 스토리지 사용 방법을 관찰합니다. 이 기술 자료 문서를 참조하고 문제가 발생하는 경우 마운트 옵션 사용을 거부하는 것이 좋습니다. SELinux 마운트 옵션 기본값 비활성화 섹션을 참조하십시오.

3.7.2. SELinux 마운트 옵션 비활성화

향후 마운트 옵션을 기본값으로 전환하려면 개별 Pod 또는 네임스페이스 수준에서 seLinuxChangePolicy 매개변수를 Recursive 로 설정할 수 있습니다.

3.7.2.1. 네임스페이스 수준에서 seLinuxChangePolicy 변경

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

사전 요구 사항

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

절차

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

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

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

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

      이는 Pod 볼륨의 모든 파일의 레이블을 적절한 SELinux 컨텍스트로 재귀적으로 다시 지정합니다.

    3. 저장을 클릭합니다.

검증

이전에 편집한 네임스페이스에서 Pod를 시작하고 spec.securityContext.seLinuxChangePolicyRecursive 로 설정되어 있는지 확인합니다.

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

securityContext:
    seLinuxOptions:
      level: 's0:c27,c19'
    runAsNonRoot: true
    fsGroup: 1000740000
    seccompProfile:
      type: RuntimeDefault
    seLinuxChangePolicy: Recursive 
1

  ...
Copy to Clipboard Toggle word wrap

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

3.7.2.2. Pod 수준에서 seLinuxChangePolicy 변경

새 배포 또는 기존 배포에서 seLinuxChangePolicy 매개변수 세트를 설정한 다음 관리하는 Pod에 이 매개변수 값이 있습니다. StatefulSet에서도 마찬가지로 이 작업을 수행할 수 있습니다. 기존 Pod를 편집하여 seLinuxChangePolicy 를 설정할 수 없습니다. 그러나 새 Pod를 생성할 때 이 매개변수를 설정할 수 있습니다.

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

사전 요구 사항

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

절차

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

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

    seLinuxChangePolicy배포 YAML 파일 설정 예

      ...
    securityContext:
      seLinuxChangePolicy: Recursive 
    1
    
      ...
    Copy to Clipboard Toggle word wrap

    1
    모든 Pod 볼륨의 모든 파일의 레이블을 적절한 SELinux 컨텍스트로 재귀적으로 다시 지정합니다.
  5. 저장을 클릭합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat