This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2장. OpenShift 샌드박스 컨테이너 이해
OpenShift Container Platform의 OpenShift 샌드박스 컨테이너 지원은 추가 선택적 런타임으로 Kata Containers를 실행하는 데 대한 기본 지원을 제공합니다. 새로운 런타임은 전용 가상 머신(VM)에서 컨테이너를 지원하므로 워크로드 격리가 향상됩니다. 이 기능은 다음 작업을 수행하는 데 특히 유용합니다.
- 권한이 있거나 신뢰할 수 없는 워크로드 실행
OSC(OpenShift 샌드박스 컨테이너)를 사용하면 권한 있는 컨테이너를 실행하여 클러스터 노드를 손상시킬 수 있지만 특정 권한이 필요한 워크로드를 안전하게 실행할 수 있습니다. 특수 권한이 필요한 워크로드는 다음과 같습니다.
- CRI-O와 같은 표준 컨테이너 런타임에서 부여하는 기본 기능 이상으로 커널의 특수 기능이 필요한 워크로드(예: 낮은 수준의 네트워킹 기능에 액세스).
- 승격된 루트 권한이 필요한 워크로드(예: 특정 물리적 장치에 액세스). OpenShift 샌드박스 컨테이너를 사용하면 특정 장치만 VM에 전달하여 워크로드가 나머지 시스템에 액세스하거나 잘못 구성할 수 없도록 할 수 있습니다.
-
set-uid
루트 바이너리를 설치하거나 사용하는 워크로드입니다. 이러한 바이너리는 특수 권한을 부여하므로 보안 위험이 발생할 수 있습니다. OpenShift 샌드박스 컨테이너를 사용하면 추가 권한이 가상 머신으로 제한되며 클러스터 노드에 대한 특별한 액세스 권한은 부여되지 않습니다.
일부 워크로드에는 특히 클러스터 노드를 구성하기 위한 권한이 필요할 수 있습니다. 가상 머신에서 실행하면 이러한 워크로드가 작동하지 않기 때문에 이러한 워크로드가 여전히 권한 있는 컨테이너를 사용해야 합니다.
- 각 워크로드에 대한 커널 격리 확인
-
OpenShift 샌드박스 컨테이너는 사용자 정의 커널 튜닝(예:
sysctl
, 스케줄러 변경 또는 캐시 튜닝) 및 사용자 정의 커널 모듈 생성(예:트리
또는 특수 인수)이 필요한 워크로드를 지원합니다. - 테넌트 간에 동일한 워크로드 공유
-
OpenShift 샌드박스 컨테이너를 사용하면 동일한 OpenShift 클러스터를 공유하는 여러 조직에서 여러 사용자(테넌트)를 지원할 수 있습니다. 또한 이 시스템을 사용하면 CNF(컨테이너 네트워크 기능) 및 엔터프라이즈 애플리케이션과 같은 여러 공급업체에서 타사 워크로드를 실행할 수 있습니다. 예를 들어 타사 CNF는 사용자 지정 설정이 패킷 튜닝 또는
sysctl
변수를 방해하는 것을 원하지 않을 수 있습니다. 완전히 분리된 커널 내에서 실행하면 "아니요" 설정 문제가 발생하지 않도록 하는 데 도움이 됩니다. - 소프트웨어 테스트를 위한 적절한 분리 및 샌드박스 확인
-
OpenShift 샌드박스 컨테이너를 사용하여 알려진 취약점으로 컨테이너화된 워크로드를 실행하거나 기존 애플리케이션의 문제를 처리할 수 있습니다. 또한 관리자는 이러한 격리를 통해 개발자에게 Pod에 대한 관리 제어 권한을 제공할 수 있습니다. 이는 개발자가 일반적으로 관리자가 부여한 구성을 테스트하거나 검증하려고 할 때 유용합니다. 예를 들어 관리자는 eBPF(커널 패킷 필터링)를 개발자에게 안전하고 안전하게 위임할 수 있습니다. 커널 패킷 필터링에는
CAP_ADMIN
또는CAP_BPF
권한이 필요하므로 컨테이너 호스트 작업자 노드의 모든 프로세스에 대한 액세스 권한을 부여하므로 표준 CRI-O 구성에서 허용되지 않습니다. 마찬가지로 관리자는 SystemTap과 같은 대화형 툴에 대한 액세스 권한을 부여하거나 개발 중에 사용자 정의 커널 모듈 로드를 지원할 수 있습니다. - VM 경계를 통한 기본 리소스 제약 확인
- 기본적으로 CPU, 메모리, 스토리지 또는 네트워킹과 같은 리소스는 OpenShift 샌드박스 컨테이너에서 보다 강력하고 안전한 방식으로 관리됩니다. OpenShift 샌드박스 컨테이너는 VM에 배포되므로 추가 격리 및 보안 계층을 통해 리소스에 대한 세밀한 액세스 제어를 제공합니다. 예를 들어 잘못된 컨테이너는 VM에 사용 가능한 메모리보다 많은 메모리를 할당할 수 없습니다. 반대로 네트워크 카드 또는 디스크에 대한 전용 액세스 권한이 필요한 컨테이너는 다른 장치에 액세스하지 않고도 해당 장치를 완전히 제어할 수 있습니다.
2.1. OpenShift 샌드박스 컨테이너 지원 플랫폼
베어 메탈 서버 또는 AWS(Amazon Web Services) 베어 메탈 인스턴스에 OpenShift 샌드박스 컨테이너를 설치할 수 있습니다. 다른 클라우드 공급자가 제공하는 베어 메탈 인스턴스는 지원되지 않습니다.
RHCOS(Red Hat Enterprise Linux CoreOS)는 OpenShift 샌드박스 컨테이너에서 지원되는 유일한 운영 체제입니다. OpenShift 샌드박스 컨테이너 1.2는 RHCOS(Red Hat Enterprise Linux CoreOS) 8.6에서 실행됩니다.
OpenShift 샌드박스 컨테이너 1.2는 OpenShift Container Platform 4.11과 호환됩니다.
AWS 베어 메탈 인스턴스에 OpenShift 샌드박스 컨테이너를 설치하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.