로그인 / 등록 Account

새롭게 출시된 Red Hat Enterprise Linux(RHEL) 8.3에는 새로운 컨테이너 기능이 다수 제공됩니다. RHEL 8.2에 추가된 기능(Red Hat Enterprise Linux 8.2의 새로운 컨테이너 기능)을 기반으로 하므로 RHEL 7에서 업그레이드하는 것이 좋습니다.

간단히 요약하면 다음과 같습니다.

  • 새로운 컨테이너 툴 교육

  • container-tools:rhel8 빠른 이동 스트림으로 업데이트

  • Docker 호환 엔드포인트가 있는 새로운 REST 애플리케이션 프로그래밍 인터페이스(API)가 포함된 Podman 2.0

  • 안정성이 더욱 향상되었으며 로그인/로그아웃 기능을 갖춘 Skopeo 1.X

  • Buildah 및 Skopeo 이미지가 일반적으로 제공되고 지원됨

  • Podman 컨테이너 이미지가 기술 프리뷰로 제공됨

  • 새로운 애플리케이션 컨테이너 이미지

  • Podman 매니페스트 지원

컨테이너 툴 빠른 스트림 업데이트(container-tools:rhel8)

RHEL 8.3의 container-tools:rhel8 스트림을 Podman 2.0.5, Buildah 1.15.1 및 Skopeo 1.1.1 버전으로 업데이트

다음은 RHEL 8.2 이후 추가된 몇 가지 흥미로운 새 기능을 나열한 것입니다.

  • 이제 사용자가 --userns=keep-id를 사용해 Podman을 실행하는 경우, 루트리스(rootless) Podman이 해당 사용자의 /etc/passwd에 항목을 추가합니다.

  • 여러 연결을 지원하도록 podman system connection 명령을 수정하고 사용할 수 있게 다시 활성화하였습니다.

  • 이제 Podman에는 새로운 글로벌 플래그인 --connection이 있어 원격 Podman API 인스턴스에 대한 연결을 지정할 수 있습니다.

  • 이제 podman search 명령에서 검색어에 와일드카드를 입력할 수 있습니다.

  • 이제 podman play kube 명령이 IfNotPresent 풀 유형을 지원합니다.

  • REST API 및 Podman 시스템 서비스의 테스트가 완료되어 이제 사용 가능합니다.

  • 이제 Podman 명령이 --remote 플래그를 사용하는 REST API를 통한 원격 연결을 지원합니다.

  • Varlink 대신에 새로운 REST API를 사용할 수 있도록 Podman 원격 클라이언트를 완전히 새로 작성했습니다.

  • 이제 podman generate systemd 명령을 포드와 함께 사용할 때 --new 플래그가 지원되며, 이를 통해 이식 가능한 포드용 서비스를 생성할 수 있습니다.

  • Buildah: 컨테이너에 VFS 추가 이미지 스토어 추가

  • Buildah: containers.conf 통합 개선

Podman 2.0

Podman 2.0은 Podman의 새로운 메이저 버전입니다. 그런데 새로운 메이저 버전이란 무슨 뜻일까요? Podman은 줄여서 SemVer라고도 불리는 Semantic Versioning을 사용합니다. semver.org 사이트에 자세한 설명이 있지만 여기에서 간략히 살펴보겠습니다. SemVer를 따르는 모든 프로그램에는 MAJOR.MINOR.PATCH라는 형식의 메이저, 마이너 및 패치 번호가 있습니다. 예를 들어 Red Hat이 RHEL 8.3에서 Podman 2.0.5를 릴리스하는 경우, semver.org에서는 각 번호를 다음과 같이 설명합니다.

  1. 메이저 버전: 미호환 API 변경 시 사용

  2. 마이너 버전: 역호환 방식으로 기능 추가 시 사용

  3. 패치 버전: 역호환 버그 수정 시 사용

Podman은 varlink에 기반을 둔 최신 API가 새로운 REST API(버전 1.40을 위한 Docker 호환성 계층이 포함된 Podman 2.0을 대상으로 함)로 교체되었으므로 메이저 버전이 한 단계 높아졌습니다. 새로운 REST API는 Podman과 프로그래밍 방식으로 상호 작용하는 경우에 선호되는 방식입니다. varlink 기반 인터페이스는 이제 사용 중단되었고 더 이상 확장되지 않을 것이므로 Podman 3.0에서 제거될 계획입니다.

이 REST 인터페이스는 RHEL 7에서 Docker 데몬을 사용해 Podman이 포함된 RHEL 8로 업그레이드하는 고객이 간편하게 전환할 수 있도록 돕는 마지막 퍼즐 조각입니다. RHEL 8을 출시한 날부터 Podman은 여러 가지 중요한 방식으로 Docker 데몬과 호환되었습니다. Podman은 동일한 이미지를 사용하고, 동일한 레지스트리 서버와 통신할 수 있고, 동일한 런타임(runc)을 사용하며, 심지어 Docker CLI 사용자가 매우 친숙하게 느낄 커맨드라인 인터페이스(CLI)도 있습니다. 

  • 이미지 형식: 호환됨

  • 레지스트리 형식: 호환됨

  • 런타임 형식: 호환됨

  • CLI: 호환됨

  • API: 2.0 현재 호환됨

Red Hat은 이 새로운 Podman 2.0 REST API로 이러한 마지막 호환성 포인트를 처리하고 있습니다. 따라서 사용자는 Docker API에 의존하는 코드를 RHEL 8으로 가져올 수 있습니다. Red Hat은 이 작업에 자부심을 갖고 있으며 Podman 팀에 있어서는 엄청난 과제였습니다.

더 자세히 알아보려면 다음 문서 및 설명서를 참조하세요.

Buildah 및 Skopeo용 컨테이너 이미지

소프트웨어를 컨테이너 이미지로 패키징하면 동료 개발자가 사용에 대한 편향성을 가지고 작업을 시작할 수 있습니다(Life in The Container - When it comes to code, be a consumer). 이것은 애플리케이션 종속성뿐 아니라 애플리케이션 개발 툴에도 적용됩니다. 가능한 한 모든 활용 사례에서 마찰을 줄이고 Open Container Initiative(OCI)를 준수하는 툴을 사용하기 위해 Red Hat은 Buildah, Skopeo, Podman과 같은 컨테이너 툴의 컨테이너화된 버전을 개발하고 있습니다.

RHEL 8.3 출시와 함께 Red Hat은 이제 Podman의 기술 프리뷰 컨테이너 이미지를 제공할 뿐 아니라 BuildahSkopeo의 상용화 버전(GA) 이미지도 제공합니다. 제공되는 이미지를 사용해 보고 피드백을 주시기 바랍니다. 이미 컨테이너를 실행 중인 모든 곳에서 다른 애플리케이션을 빌드하는 데 사용할 수 있는 컨테이너화된 애플리케이션 세트를 제공하는 것이 목표입니다.

새로운 애플리케이션 컨테이너 이미지

RHEL 8.3과 더불어 Red Hat은 사용자가 애플리케이션을 빌드하는 데 도움이 되는 업데이트된 버전의 컨테이너 이미지를 다수 출시할 예정입니다. 자세한 내용은 Red Hat Ecosystem Catalog의 릴리스 노트RHEL 8 제품 페이지를 참조하시기 바랍니다.

Red Hat Universal Base Image(UBI) 8 제품 페이지

RHEL 8 제품 페이지

  • GCC Toolset/Perftools 10

  • Grafana

  • PCP

Podman 매니페스트 지원

RHEL 8을 x86, ARM, POWER, Z 등 어디에 설치했더라도 podman run -it ubi8 명령을 실행할 수 있습니다. 이 명령은 매우 단순하지만 컨테이너 이미지는 물리 아키텍처마다 다릅니다. 각 컨테이너 이미지의 바이너리는 특정 아키텍처에 맞춰 컴파일되어 있습니다. x86용으로 컴파일된 바이너리는 ARM 프로세서에서 실행되지 않으며 반대의 경우도 마찬가지입니다. 동일한 명령이 모든 아키텍처에서 작동하도록 하려면 Red Hat이 동일한 컨테이너 리포지토리에 여러 개의 컨테이너 이미지를 삽입해야 합니다. RHEL 8 이미지의 경우 이는 네 가지 이미지가 있음을 뜻합니다. 즉, 지원되는 각 아키텍처(예: x86, ARM, POWER, Z)가 모든 리포지토리(예: registry.access.redhat.com/ubi8/ubi)에 하나씩 삽입되어 있습니다.

이 새로운 podman manifest 하위 명령을 통해 사용자는 이러한 다중 아키텍처 리포지토리로 작업하는 데 필수적인 메타데이터와 상호 작용할 수 있습니다. 이 메타데이터는 OCI 용어로 이미지 인덱스, 또는 Docker 용어로 매니페스트 목록으로 불리는 경우가 많습니다. 또한 Podman이나 Docker와 같은 컨테이너 엔진과 함께 리포지토리 내에서 어떤 아키텍처(x86, ARM, POWER, Z)를 사용할 수 있는지에 관한 필수 정보를 제공하는 JSON 메타데이터의 일부입니다.

RHEL 8.3에 포함된 Podman의 최신 릴리스는 다중 아키텍처 이미지(둘 이상의 아키텍처를 위한 이미지)를 생성하여 원격 서버로 푸시하는 데 필수적인 기본 툴을 제공합니다. 이러한 기능은 고급 컨테이너 이미지를 빌드하는 고객에게 유용합니다.

다음은 로컬 매니페스트 생성 방법의 예시입니다.

podman manifest create localhost/list

이어서 검사를 실행합니다.

podman manifest inspect localhost/list

결과는 다음과 같습니다.

{  "schemaVersion": 2,  "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",  "manifests": null }

RHEL 컨테이너 툴로 Linux 기술 수준 높이기

업계에서 컨테이너의 중요성이 커짐에 따라 Red Hat은 두 가지 핵심 Linux 과정을 하루씩 늘려 컨테이너를 포함하였습니다. 2020년 10월 1일부터 Red Hat System Administration II(RH134) 및 RHCSA Rapid Track Course(RH199)가 4일에서 5일로 연장되었고, 마지막 날에는 컨테이너에 집중함으로써 사용자가 쿠버네티스 및 Red Hat OpenShift를 준비할 수 있게 하였습니다. 

이제 RH134 및 RH199 과정을 수강하면 RHEL 컨테이너 툴을 활용해 서비스를 단일 RHEL 서버에서 컨테이너로 가져와 실행하고 관리할 수 있습니다. 

OpenShift는 신뢰할 수 있는 RHEL 기반에 구축되어 여러분이 알고 기대하는 것과 동일한 보안 기능, 안정성 및 에코시스템을 제공합니다. Red Hat은 Linux를 엔터프라이즈에 도입한 것처럼 쿠버네티스에도 동일한 작업을 진행하고 있습니다. 또한 컨테이너는 기본적으로 Linux 기술이므로 Red Hat은 핵심 기술에 컨테이너 및 쿠버네티스를 추가하기 위한 최적의 경로를 제공할 수 있습니다.

이러한 Linux 과정 업데이트를 통해 Red Hat Certified System Administrator exam(EX200)에 컨테이너 관련 내용도 포함되었습니다. 이러한 새로운 시험 내용에 따라 응시자는 실제 컨테이너 애플리케이션을 체험해볼 수 있으며 시험 시간도 30분 늘어났습니다.

Red Hat Enterprise Linux 7 EX200은 이러한 변경이 적용되지 않았습니다. Red Hat Enterprise Linux 8.2 RH199, RH134, EX200에서만 내용이 변경되었습니다. Red Hat System Administration I(RH124)은 컨테이너를 포함하지 않지만 RHEL 8.2로 업데이트되었습니다.

위와 같은 교육 및 자격증 업데이트에 관한 자세한 내용은 전체 블로그레벨업 랜딩 페이지를 참조하세요.

결론

컨테이너 이미지 또는 컨테이너 호스트에서 Red Hat의 컨테이너는 RHEL로 시작합니다. 최신 버전인 RHEL 8.3은 OpenShift 이후 솔루션의 기반이 되는 기능을 제공합니다. 

제품 설명서, 릴리스 노트, Ecosystem Catalog의 새로운 UBI 이미지에서 모든 새로운 기능을 살펴보시기 바랍니다.


About the author

Scott McCarty is technical product manager for the container subsystem team, which enables key product capabilities in OpenShift Container Platform and Red Hat Enterprise Linux. Focus areas includes container runtimes, tools, and images. Working closely with engineering teams, at both a product and upstream project level, he combines personal experience with customer and partner feedback to enhance and tailor strategic container features and capabilities.