Podman Desktop이란?

URL 복사

Podman Desktop은 로컬 개발자 환경에서 컨테이너화된 소프트웨어 애플리케이션 작업을 간소화하는 무료 오픈소스 툴입니다. 개발자는 Podman Desktop을 사용하여 로컬 Windows, macOS 또는 Linux® 환경에서 그래픽 사용자 인터페이스(Graphical User Interface, GUI)를 통해 컨테이너를 관리할 수 있습니다.

Podman Desktop은 컨테이너 관리를 위한 툴인 Podman 프로젝트와 관련이 있습니다. Red Hat은 Podman과 Podman Desktop 오픈소스 프로젝트에 선도적으로 기여하고 있습니다.

Podman Desktop 보기

Podman Desktop의 장점은 컨테이너 작업의 장점과 일치합니다. 컨테이너는 애플리케이션을 실행하는 데 필요한 모든 파일을 다양한 컴퓨팅 환경에 걸쳐 일관되고 손쉽게 배포할 수 있는 하나의 이미지로 패키징합니다. 컨테이너화된 애플리케이션은 서로 격리되어 있으므로, 하나의 애플리케이션에 영향을 미치는 문제가 다른 애플리케이션에는 영향을 미치지 않습니다. 다른 컨테이너 또는 서비스를 중단할 필요 없이 컨테이너를 중지하고 재시작할 수 있습니다.

컨테이너화된 접근 방식은 하이브리드 클라우드 개발에 매우 적합합니다. 애플리케이션을 구축하고 테스트한 다음, 해당 애플리케이션이 온프레미스, 클라우드 또는 멀티클라우드에 관계없이 개발, 테스트 및 프로덕션 환경에서 동일하게 작동할 것으로 기대할 수 있습니다.

이제 대규모 엔터프라이즈 활용 사례를 지원하기 위해 컨테이너화된 서비스를 사용한다고 가정해 보겠습니다. 이 경우 공유 컴퓨팅 리소스 풀을 사용하여 서로 다른 여러 컨테이너가 함께 작동해야 합니다. 여기서 여러 컨테이너 환경을 대규모로 관리하기 위해 구축된 오픈소스 컨테이너 오케스트레이션 플랫폼인 쿠버네티스가 등장합니다. 소프트웨어 팀은 컨테이너화된 개발과 쿠버네티스를 사용하여 대규모 프로젝트를 지원하는 동시에 빠른 반복과 확장성을 유지할 수 있습니다. 또한 컨테이너 보안 제어를 지속적 통합/지속적 제공(CI/CD) 파이프라인의 일부로 설정할 수 있습니다.

모두 근사하게 들리지만, 컨테이너를 활용하려면 애플리케이션 팀이 쿠버네티스를 위한 소프트웨어를 미리 설계하고 구축해야 합니다. 많은 소프트웨어 팀이 쿠버네티스를 다뤄본 경험이 많지 않습니다. Podman Desktop을 활용하면 개발자가 컨테이너에 더 익숙해지고 핸즈온 경험을 통해 쿠버네티스에 대한 지식을 넓힐 수 있습니다. 그리고 Podman Desktop은 컨테이너화된 애플리케이션의 지속적인 로컬 개발을 관리하는 데 도움을 줄 수 있습니다.

또한 Podman Desktop을 사용하면 외부 리소스에 영향을 주거나 운영 팀이 인프라를 프로비저닝할 때까지 기다릴 필요 없이 로컬 환경에서 개발할 수 있습니다.

Podman Desktop을 자세히 살펴보기 전에 Podman 프로젝트와 이를 통해 얻을 수 있는 이점을 알아보겠습니다.

Podman Desktop 알아보기

Red Hat 리소스

Podman은 포드 관리자(Pod Manager)의 약어로, 컨테이너를 사용하는 작업을 위한 오픈소스 프로젝트입니다. Podman은 Podman Desktop의 기반을 제공합니다. Podman은 기본적으로 루트리스(rootless) 컨테이너를 지원하며, 루트 권한의 필요성을 최소화하고 시스템 취약성의 위험을 줄임으로써 보안을 강화합니다.

Podman은 쿠버네티스 포드와 마찬가지로 컨테이너를 함께 실행하고 리소스를 공유하는 포드로 그룹화합니다. Podman은 컨테이너, 포드, 컨테이너 이미지 및 볼륨 관리를 위한 애플리케이션 프로그래밍 인터페이스(API)를 제공하는 커맨드라인 인터페이스(CLI)와 libpod 라이브러리를 통해 이러한 포드를 관리합니다.

기본적으로 Podman은 컨테이너 런타임과 형식을 위한 업계 표준을 준수하도록 설계된 Open Container Initiative(OCI) 컨테이너를 생성하고 지원합니다. Podman은 또한 Docker 형식의 이미지도 실행합니다. Podman은 Docker와 호환되기 때문에 Docker의 완전한 기능을 갖춘 대안 또는 함께 사용할 수 있는 툴입니다.

Podman Desktop GUI를 사용하면 워크스테이션 또는 노트북에서 로컬로 컨테이너와 포드를 구축, 실행, 관리하고 디버깅할 수 있습니다. 쿠버네티스와 함께 또는 쿠버네티스 없이 포드를 실행하고 여러 컨테이너 엔진을 관리할 수 있습니다.

컨테이너 작업

Podman Desktop을 사용하면 모든 레지스트리에서 컨테이너 이미지를 풀링할 수 있습니다. 그러면 Podman Desktop에 컨테이너를 시작, 중지, 삭제, 재부팅하고 내보내고 배포할 수 있는 포인트 앤 클릭(point-and-click) 제어 기능을 갖춘 통합된 단일 뷰가 표시됩니다. 다음 작업을 할 수 있습니다.

  • Podman Desktop 인터페이스를 벗어나지 않고도 로그를 보고 실행 중인 컨테이너에 대한 셸 액세스 권한 확보
  • 자체 컨테이너 이미지를 구축한 후 레지스트리에 푸시
  • 컨테이너를 애플리케이션을 위한 포드로 그룹화하고 포드에 대한 통합 로그 조회

쿠버네티스 작업

Podman Desktop으로 작업하면 데몬이 없는 아키텍처, 포드와 같은 쿠버네티스 개념에 친숙해지고 이를 정기적으로 실습할 수 있습니다. 다음 작업을 할 수 있습니다.

  • YAML 형식으로 쿠버네티스 지침을 생성하여 쿠버네티스 배포를 위한 애플리케이션 준비 
  • 클러스터에 배포하기 전에 로컬에서 쿠버네티스 YAML 테스트 
  • 로컬 쿠버네티스 클러스터를 구동한 후 애플리케이션 테스트
  • 애플리케이션을 배포 프로세스로 푸시

엔터프라이즈 기능 사용

Podman Desktop에는 대규모 엔터프라이즈 환경에서 작업할 때 유용한 기능이 포함되어 있습니다. Red Hat® OpenShift®를 통해 가상 프라이빗 네트워크(Virtual Private Network, VPN)와 프록시를 구성하고, 여러 이미지 레지스트리와 상호 작용하고, 원격 클러스터에 연결하고 배포할 수 있습니다.

부팅 가능한 컨테이너로 작업

부팅 가능한 컨테이너는 컨테이너 내에 완전한 운영 체제를 임베드합니다. Podman Desktop의 bootc 확장을 사용하여 베어 메탈 하드웨어, Amazon Web Services, 가상 머신 등에 대해 공통된 형식의 부팅 가능한 컨테이너 이미지를 생성할 수 있습니다.

Podman Desktop 확장을 사용하여 더 많은 작업 수행

확장을 사용하여 Podman Desktop에 기능을 추가할 수 있습니다. 일부 확장은 컨테이너 엔진 공급업체 및 쿠버네티스 공급업체와의 통합을 추가하거나, 조치, 메뉴, 구성 및 기타 편의 기능을 지원합니다.

다음으로 대규모 언어 모델(LLM)과 Red Hat 플랫폼을 사용한 작업을 간소화하는 두 가지 확장 팩을 살펴보겠습니다. 

더 많은 기능 확인하기

Podman AI Lab 확장 팩을 사용하면 Podman Desktop을 생성 AI(Generative Artificial Intelligence) 애플리케이션 실험을 위한 진입점으로 활용할 수 있습니다.

Podman AI Lab은 로컬 환경에서 대규모 언어 모델(LLM) 애플리케이션을 구축, 테스트하고 실행하기 위한 GUI를 제공합니다. LLM을 로컬로 실행하면 아키텍처를 간소화하고 민감한 데이터를 외부 AI 서비스와 공유하는 데 따른 위험을 없앨 수 있습니다.

Podman AI Lab에는 챗봇, 코드 생성 등과 같은 일반적인 생성 AI 활용 사례의 레시피 카탈로그가 포함되어 있습니다. 엄선된 오픈소스 라이센스 LLM 목록에서 선택하여 로컬에서 다운로드하고 실행할 수 있습니다. 또한 몇 단계 만에 플레이그라운드 환경을 설정하여 다양한 LLM을 사용해 볼 수 있습니다.

첫 AI 애플리케이션 구축하기

Podman Desktop용 Red Hat 확장 팩은 Red Hat 플랫폼으로 작업하기 위한 시작점입니다. Red Hat OpenShift에 배포할 애플리케이션을 개발하는 경우, 이 무료 확장을 통해 로컬 환경과 프로덕션 환경을 연결할 수 있습니다.

Red Hat OpenShift Local 확장

Red Hat OpenShift는 엔터프라이즈 애플리케이션 플랫폼입니다. 로컬 환경에서 Red Hat OpenShift를 시작한 다음 이 확장을 사용하여 단일 노드 Red Hat OpenShift 클러스터를 구성하고 설정하는 방법을 알아보세요.

Developer Sandbox for Red Hat OpenShift 확장

Developer Sandbox for Red Hat OpenShift는 애플리케이션 구축, 테스트, 검사, 디버깅 및 배포를 위한 공유 Red Hat OpenShift 원격 환경을 지원합니다.

Red Hat SSO 확장

Red Hat의 SSO(Single Sign-On) 기술을 통해 간편하게 Red Hat 계정을 생성하고 계정에 로그인할 수 있습니다. Red Hat SSO 확장을 사용하면 Red Hat Developer 프로그램에 등록하고 Red Hat Enterprise Linux 이미지 모드 바이너리에 액세스하는 등의 작업을 할 수 있습니다.

Bootc 확장

부팅 가능한 컨테이너는 운영 체제를 컨테이너 내에 직접 임베드하는 디스크 이미지입니다. bootc 확장을 통해 Podman Desktop에서 부팅 가능한 컨테이너와 일반 컨테이너를 구별할 수 있습니다.

Red Hat 확장 팩 보기

Docker 회사와 해당 사용자 커뮤니티는 컨테이너 애플리케이션의 업계 표준을 구축하고 대중화했습니다. Docker는 제한된 활용 사례에 대해 무료로 사용할 수 있는 Docker Desktop이라는 GUI를 제공합니다.

Podman Desktop과 Docker Desktop은 모두 컨테이너 관리를 위한 GUI 툴이긴 하지만, 별개의 제품입니다.

아키텍처 측면에서 Podman과 Docker의 가장 중요한 차이점은 Podman은 데몬이 없기 때문에 쿠버네티스의 주요 특성을 가져와 로컬 개발 사례를 쿠버네티스 환경에 맞게 조정할 수 있다는 점입니다. 데몬이 없는 아키텍처는 컨테이너 실행을 위해 루트 권한을 보유한 프로세스에 의존하지 않기 때문에 컨테이너 환경에 더 간편하게 액세스할 수 있는 동시에 보안 위험이 줄어듭니다. 이러한 차이점은 Podman과 Docker의 데스크탑 버전에서도 그대로입니다.

Podman Desktop은 주로 Red Hat에서 후원하고 개발하기 때문에 Red Hat OpenShift를 포함한 Red Hat의 다른 기술과 손쉽게 통합됩니다.

Podman은 Docker와 호환되므로 한 플랫폼에서 생성한 컨테이너는 다른 플랫폼에서도 작동합니다. 또한 Podman Desktop에서 Docker Desktop 확장을 실행할 수도 있습니다.

Podman Desktop을 사용하면 컨테이너와 쿠버네티스 포드에 대한 경험을 쌓을 수 있고 Red Hat Enterprise Linux, Red Hat OpenShift를 비롯한 컨테이너를 지원하는 다른 Red Hat 기술을 사용하기 위한 진입점을 마련할 수 있습니다.

Red Hat Enterprise Linux는 엔터프라이즈 환경에서 Linux 컨테이너를 실행하기 위한 표준으로, 이를 통해 손쉽게 컨테이너를 가동하고 배포를 관리하며 새로운 애플리케이션의 개발 속도를 앞당길 수 있습니다. 오픈 하이브리드 클라우드 환경 전반에서 Red Hat Enterprise Linux에 구축된 이식 가능한 애플리케이션과 컨테이너를 활용함으로써 조직은 진화하는 목표에 맞춰 민첩성을 유지하고 지속적으로 혁신할 수 있습니다.

Red Hat OpenShift는 애플리케이션을 규모에 따라 개발, 현대화, 배포할 수 있는 신뢰할 수 있고 일관된 통합 플랫폼입니다. 쿠버네티스라는 파운데이션을 기반으로 구축된 Red Hat OpenShift는 원하는 인프라에서 애플리케이션을 출시하기 위한 완벽한 서비스 세트를 제공합니다. 개발자는 Red Hat OpenShift의 확장성, 제어, 오케스트레이션 기능을 활용하여 컨테이너화된 새 애플리케이션을 구축 및 호스팅하고 클라우드에 배포함으로써 멋진 아이디어를 빠르고 쉽게 새로운 비즈니스로 만들어 낼 수 있습니다.

핸즈온 랩에서 컨테이너 체험하기
허브

레드햇 공식 블로그

레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.

모든 Red Hat 제품 체험판

무료 제품 체험판을 통해 핸즈온 경험을 얻고, 자격증 시험에 대비하거나 해당 제품이 조직에 적합한지 평가할 수 있습니다.

추가 자료

가상화란? 개념, 가상화 기술, 서버 가상화에 대한 포괄적인 안내

가상화란 물리적인 리소스를 가상 환경으로 분리하여 서버 가상화, 하드웨어 가상화 등을 제공하는 기술이며, 장점은 리소스를 최적화하여 효율적으로 활용할 수 있습니다.

Ansible과 Puppet 비교: 선택 시 알아야 할 주요 사항 및 차이점

Ansible과 Puppet은 커뮤니티 오픈소스 IT 자동화 툴입니다. 이 문서에서는 두 툴의 유사점과 차이점을 자세히 설명하고, 선택 시 고려해야 할 주요 요소들을 안내합니다.

Podman: 리눅스에서 컨테이너 개발, 관리, 실행하는 오픈소스 툴

Podman은 리눅스 시스템에서 컨테이너 개발, 관리, 실행을 위한 오픈소스 툴이며 도커와 호환되는 명령어 인터페이스를 제공하여, 도커 사용자가 쉽게 전환할 수 있습니다

오픈소스 리소스

관련 기사