블로그 구독

Red Hat Enterprise Linux 8(RHEL 8) 출시와 함께 Red Hat은 Application Streams라는 새로운 개념의 새로운 컨테이너 툴 세트를 3년전 출시했습니다. 이러한 새로운 컨테이너 툴을 통해 RHEL 사용자는 컨테이너를 찾고, 실행하고, 빌드하고, 공유할 수 있습니다. RHEL이 Docker에서 Podman으로 전환한 이유 (그리고 전환하기까지의 여정)에 대한 자세한 내용은 소프트웨어 장인 정신을 갖춘 툴로 컨테이너를 지원하는 RHEL 8을 참조하세요. 

이전 게시글인 Red Hat Enterprise Linux 8.5 컨테이너 툴의 새로운 기능에서 RHEL 9를 구현하는 데 필요한 많은 기본 기능을 소개했습니다.

RHEL 9 릴리스와 함께 Pod Manager(podman), Buildah, Skopeo, Udica, CRIU 및 기타 Linux 유틸리티를 기반으로 하는 동일한 컨테이너 툴을 계속 제공합니다. RHEL 9는 컨테이너 사용자가 RHEL 8에서 RHEL 9로 더 쉽게 업그레이드할 수 있도록 최고의 툴을 제공한다는 철학을 이어갑니다. 이 문서에서는 RHEL 9가 컨테이너 툴을 패키징하는 방법에 대한 최신 기술과 변경 사항을 살펴봅니다.

RHEL 8.6 및 RHEL 9.0 변경 사항

먼저, RHEL 배경 정보부터 설명드리겠습니다. RHEL 8.6 및 RHEL 9.0을 동기화된 릴리스라고 합니다. 거의 동시에 릴리스되었으며 RHEL 8이 8.10에 도달하고 유지 관리 지원 단계에 들어갈 때까지 동기화를 계속할 예정이며, RHEL 9는 계속해서 새로운 기능을 제공합니다. 이를 통해 사용자는 두 플랫폼 모두에서 약 2년 동안 기능 업데이트 및 업그레이드를 받을 수 있습니다. RHEL 라이프사이클은 더욱 쉽게 업그레이드할 수 있도록 설계되었으며 컨테이너 툴에도 적용됩니다.

아래 그림에서 RHEL 8 및 9의 다음 버전이 동기화되었습니다.

  • RHEL 9 Alpha -> RHEL 8.4

  • RHEL 9 Beta -> RHEL 8.5

  • RHEL 9.0 GA -> RHEL 8.6

  • RHEL 9.1 -> RHEL 8.7

  • RHEL 9.2 -> RHEL 8.8

  • RHEL 9.3 -> RHEL 8.9

  • RHEL 9.4 -> RHEL 8.10

 

RHEL 9 container technologies sync with RHEL 8

RHEL 8과 9를 동기화하면 업그레이드가 간소화되고 Podman, Buildah 및 Skopeo 버전으로 확장됩니다. 그렇습니다. Podman, Buildah 및 Skopeo의 빠르고 안정적인 버전은 여러 버전 간에 조정됩니다. 예를 들어, Podman의 최신 버전은 RHEL 8과 9에서 동일합니다.

RHEL 8의 경우

cat /etc/redhat-release  Red Hat Enterprise Linux release 8.6 (Ootpa) [root@lance ~]# podman --version podman version 4.0.2

RHEL 9의 경우

cat /etc/redhat-release  Red Hat Enterprise Linux release 9.0 (Plow) podman --version podman version 4.0.2

RHEL의 메이저 버전 간에 Podman과 같은 중요한 소프트웨어를 동기화하면 업그레이드가 간소화되지만 몇 가지 변경 사항에 유념해야 합니다. RHEL 8.X에서 Red Hat은 두 가지 애플리케이션 스트림을 출시했습니다. 하나는 개발자가 최신 버전의 Podman, Buildah 및 Skopeo에 액세스할 수 있도록 하며, 다른 하나는 운영 팀에 2년의 지원 라이프사이클을 제공하는 안정적인 스트림입니다. 

RHEL 8 Application Streams

 

RHEL 8 Application Streams

RHEL 8에 사용된 방법론에는 몇 가지 문제가 있었습니다. 첫째, 안정적인 스트림의 활용도가 높지 않았고, RHEL 8 출시 당시의 초기 가정을 깨뜨렸습니다. 사람들이 안정적인 컨테이너 API(Podman)에 액세스하는 동시에 가장 뛰어난 최신 운영 체제 비트(Linux 커널, systemd 등)를 사용하기를 원한다고 생각하여 RHEL 8에서 빠르고 안정적인 스트림을 출시했습니다. 이는 컨테이너 기반 운영 체제의 오랜 바람이었습니다.

이 가정은 거짓으로 판명되었습니다. 대신 RHEL 사용자는 주로 RHEL 전체에 대한 2년 확장 업데이트 지원(EUS)과 함께 안정적인 컨테이너 툴 스트림에 대한 액세스를 원했습니다. RHEL을 기반으로 구축하는 사용자는 라이프사이클이 더 긴 전체 운영 체제에 액세스하기를 원하는 것으로 나타났습니다. 이에 따라 RHEL 9에서 컨테이너 툴을 릴리스하는 방식을 변경했습니다.

RHEL 9 Rolling Application Stream 및 EUS

 

RHEL 9 Rolling Application Stream and EUS

RHEL 9에서는 컨테이너 툴을 사용하는 두 가지 방법도 제공합니다. 하나는 신속한 이동에 중점을 두고, 다른 하나는 다른 하나는 안정성에 중점을 둡니다. Podman, Buildah 및 Skopeo의 최신 버전에 액세스하려는 개발자와 사용자는 최대 12주마다 릴리스되는 Application Stream을 사용할 수 있습니다(RHEL 8과 동일). 기본적으로 이 스트림은 RHEL 8의 빠른 스트림과 동기화되어(RHEL 8에서 개발 속도가 느려지는 경우 8.10까지) 메이저 버전 간에 쉽게 업그레이드/다운그레이드할 수 있습니다. 

RHEL 9 사용자가 보안 백포트를 통해 2년 동안 지원되는 안정적인 스트림에 액세스해야 하는 경우 별도의 서브스크립션이지만 RHEL 확장 업데이트 지원(EUS)을 통해 액세스할 수 있습니다. 기본적으로 RHEL 9의 EUS 릴리스에 있는 컨테이너 툴의 각 버전은 RHEL 8에서 해당하는 안정적인 스트림과 동기화됩니다. 이렇게 하면 RHEL 8에서 RHEL 9로 쉽게 업그레이드하여 일관된 버전의 Podman을 유지 관리할 수 있으며, 회귀 분석을 도입할 가능성을 줄여줍니다.

중요한 점은 RHEL 8은 설계된 대로 계속 제공될 예정이라는 것입니다. RHEL 9에서 사용된 방법론으로 변환되지 않습니다. 개발자, 관리자 또는 아키텍트가 안정적인 스트림을 기반으로 RHEL 8의 롤아웃을 계획한 경우 계속 사용할 수 있으며 EUS가 필요하지 않습니다.

또한 RHEL 8.6에서는 container-tools:2.0 모듈이 사용 중단되므로 보안 패치를 계속 받으려면 최신 버전(3.0, 4.0 등)으로 이동해야 합니다. 자세한 내용은 RHEL Application Streams 라이프사이클 페이지를 참조하세요. 

Identity 매핑의 중앙집중식 관리

루트리스(rootless) Podman은 뛰어난 기술입니다. 정규 프로세스가 시스템에서 실행되는 것과 동일한 방식으로 루트가 아닌 사용자로 컨테이너를 실행하여 컨테이너 보안을 개선합니다. 즉, 공격 워크로드는 추가 보안 계층에서 벗어나 먼저 컨테이너 제어를 통과한 다음 루트가 될 수 있는 방법을 찾아야 합니다. 이는 HPC 환경의 대규모 노트북/데스크톱 및 공유 서버의 개발자에게 적합합니다.

그러나 관리자가 모든 노드에서 /etc/subuid 및 /etc/sugid 파일을 수동으로 관리해야 했기 때문에 RHEL 워크스테이션, HPC 노드 또는 공유 서버에서 수많은 루트가 아닌 사용자를 관리하는 것은 매우 어려웠습니다.

더 이상은 그렇지 않습니다. RHEL 9에서는 관리자가 여러 사용자 및 RHEL 노드 전체에서 루트리스 Podman 사용자를 쉽게 관리할 수 있는 Identity 관리(IdM) 기능을 도입했습니다. 사용자는 단일 사용자 또는 디렉터리 서버의 모든 사용자에게 subuid/subgid를 할당할 수 있습니다. 정말 편리합니다. 자세한 내용은 37장. 수동으로 subID 범위 관리를 참조하세요.

컨테이너 스토리지를 위한 NFS 지원

앞서 언급했듯이 루트리스 Podman은 훌륭한 기능이며, 관리자는 종종 여러 노드(워크스테이션, HPC, 공유 개발자 서버 등) 전반에서 많은 사용자를 보유합니다. 이러한 시나리오에서 사용자는 데이터를 가져오려고 합니다. 예를 들어, 한 노드에서 "podman pull"을 수행하는 경우 클러스터의 모든 노드에서 해당 이미지를 사용할 수 있기를 원합니다. 일반적인 프로세스에서 이 작업을 수행하는 쉬운 방법은 NFS를 사용하는 것이지만 지금까지 Podman/containers에서는 작동하지 않았습니다.

이 새로운 기능을 통해 Podman은 이제 확장 속성(xattrs)을 지원하는 모든 NFS 서버에 데이터를 저장할 수 있습니다. 루트가 아닌/루트리스 사용자는 이미지를 한 번 가져와서 홈 디렉터리를 사용할 수 있는 모든 곳에서 사용할 수 있습니다. 이는 워크스테이션, HPC 노드 또는 CI/CD가 수행되는 공유 개발 서버에서 매우 편리합니다. 자세한 내용은 업스트림 문서인 루트리스 Podman을 사용하여 NFS에서 컨테이너를 실행하기 위한 새로운 기능을 참조하세요.

Podman 4.0용 고급 네트워크 스택

Podman 4.X가 포함된 RHEL 9 릴리스에서 사용자는 새로운 네트워크 스택을 사용할 수 있습니다. IPv6 지원 개선, 여러 네트워크의 컨테이너 지원 개선, 성능 개선 등의 새로운 기능이 함께 제공됩니다. 

이에 대한 개요는 Podman 4.0의 새로운 네트워크 스택: 알아야 할 사항에서 확인할 수 있습니다.

이식 가능한 인증서 및 서명 컨테이너

RHEL 8.4 릴리스와 함께 Red Hat은 업계에서 가장 작고 빠른 컨테이너 이미지 중 하나인 UBI Micro(Red Hat UBI Micro 소개)를 도입했습니다.

RHEL 9 출시와 함께 이 기술을 기반으로 SSL 인증서 요청 생성, SSL 인증서 확인 또는 파일 서명과 같은 간단한 암호화 활용 사례에 사용할 수 있는 작은(12.5MB) OpenSSL 컨테이너 이미지를 생성했습니다.

이를 통해 개발자는 프로덕션 환경에서든 데스크톱/노트북에서든 신뢰할 수 있는 암호화 활용 사례를 수행할 수 있는 표준화된 방법을 사용할 수 있습니다. 모든 Red Hat 범용 기본 이미지와 마찬가지로 귀사와 귀사의 개발자는 이 새로운 이식 가능한 인증서 및 서명 컨테이너를 필요한 곳 어디에서나 사용하고 배포할 수 있습니다.

 

Portable certificate and signing container

자세한 내용은 Red Hat Ecosystem Catalog의 목록을 확인하세요.

RHEL 9.0의 기본 컨테이너 런타임인 crun

2020년 Red Hat 기여자들은 OCI와 호환되며 빠르고 메모리 사용량이 낮은 컨테이너 런타임crun을 도입했습니다. RHEL 9에서는 crun을 기본 컨테이너 런타임으로 만듭니다. crunrunc 모두 RHEL 9의 전체 라이프사이클 동안 지원됩니다.

crun을 기본값으로 변경하면 관리자가 수행하는 여러 하위 수준 구성 태스크가 간소화되고, 성능과 메모리 활용도를 개선하며, 모든 종류의 유용한 활용 사례에 액세스할 수 있습니다. 자세한 내용은 다음을 참조하세요. 빠르고 메모리 사용량이 낮은 풋프린트 컨테이너 런타임인 crun 소개

RHEL 9 및 Podman의 기본 사항인 Control Group v2(cgroup 2)

cgroup 2 프로젝트는 스스로 "서버의 프로세스 컬렉션에 대한 리소스 배포를 격리, 측정 및 제어하는 메커니즘을 제공하는 Linux 커널 구성 요소"라고 설명합니다. 따라서 관리자 및 인프라 소프트웨어(예: 컨테이너 엔진런타임)에 특정 프로세스에서 사용하는 리소스를 제한하는 강력한 메커니즘을 제공하며, 이는 특히 컨테이너에 유용합니다. 

cgroup 2는 RHEL 8에서 처음 지원되었지만 사용자가 이를 활성화하고 재부팅해야 했습니다. RHEL 9에서 cgroup 2는 즉시 사용 가능한 기본 메커니즘으로, 루트리스 컨테이너를 더욱 세부적으로 제어할 수 있습니다(소개: Fedora 31의 루트리스 컨테이너 및 cgroup v2). cgroup 2에 대한 자세한 소개는 다음을 참조하세요. RHEL 8에서 cgroups 활용: cgroups v2 출시!

결론

Podman 4.0.2가 포함된 RHEL 9.0에는 새롭고 훌륭한 컨테이너 기능이 많지만, 이러한 기능 중 상당수는 RHEL 8.6에서도 사용할 수 있습니다. 최신 버전으로 이동하거나 기존 설치를 최대한 활용하려는 경우, 컨테이너 툴 애플리케이션 스트림의 설계 및 아키텍처를 통해 해결할 수 있습니다.

RHEL 9를 통해 가장 뛰어난 최신 Podman, Buildah 및 Skopeo에 대한 빠른 액세스를 계속 제공할 뿐만 아니라, 이제 EUS를 통해 안정적인 스트림에 대한 액세스도 제공합니다. 고객이 RHEL 9를 더 쉽게 사용할 수 있도록 노력했으며, 유용하게 사용하시기 바랍니다. 여러분의 의견을 듣고 싶습니다.

언제든지 컨테이너 툴의 새로운 제품 매니저 Mark Russell(https://www.linkedin.com/in/marrusl/), RHEL Server 제품 매니저 Scott McCarty(@fatherlinux), 기술 마케팅 매니저 Eric Hendricks(@itguyeric) 또는 Red Hat Enterprise Linux의 공식 Twitter 계정(@rhel)으로 피드백을 제공해 주세요.


저자 소개

At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.

McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.

Read full bio

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Original series icon

오리지널 쇼

엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리