6P by neo 12일전 | favorite | 댓글 5개
  • Ubuntu Multipass는 워크스테이션에서 Linux 가상 머신을 빠르게 실행하고 관리하는 도구임
    • Linux, MacOS, Windows에서 사용 가능
  • Docker나 VirtualBox의 대안으로, 더 쉽고 간단하게 사용할 수 있음
  • 워크스테이션을 깨끗하게 유지하고 소프트웨어 테스트 및 배포에 유용함

Multipass는 어떻게 작동하는가?

  • 새로운 가상 머신 생성 및 실행: multipass launch --name backend
  • 상태 확인: multipass info backend
  • 명령 실행: multipass exec backend -- systemctl restart apache
  • 인터랙티브 셸 세션 실행: multipass shell backend
  • 모든 인스턴스 목록: multipass list
  • 재부팅: multipass restart backend
  • 인스턴스 삭제: multipass delete backend
  • 디렉토리 마운트(mount) 및 파일 복사(transfer) 등의 추가 명령도 있음
  • 자세한 문서는 여기에서 확인 가능함

Multipass로 무엇을 할 수 있는가?

  • 가상 머신과 컨테이너는 개발자의 도구 벨트에서 가장 유용한 도구임
  • 서드파티 소프트웨어를 격리된 환경에 설치하여 워크스테이션을 깨끗하고 건강하게 유지할 수 있음
  • 깨끗한 환경에서 테스트와 배포를 진행하여 "내 컴퓨터에서는 잘 되는데" 증후군을 줄일 수 있음
  • Docker, VMWare, VirtualBox, 저렴한 VPS, 클라우드의 일회용 인스턴스 등 다양한 솔루션이 있음
  • Multipass 가상 머신은 완전한 Ubuntu LTS 인스턴스임
  • Ubuntu Linux 서버에서 할 수 있는 모든 작업을 Multipass 인스턴스에서 할 수 있음
  • 워크스테이션과 격리된 상태에서 소프트웨어를 실행할 수 있음
  • 여러 마이크로 인스턴스를 실행하여 자동화된 통합 테스트를 수행할 수 있음
  • 배포 스크립트를 로컬에서 테스트할 수 있음

Multipass의 장점

Multipass 인스턴스는 완전한 Ubuntu LTS를 실행함

  • nanocurl 등 모든 것이 기본적으로 준비되어 있음
  • 친숙한 Linux 도구를 바로 사용할 수 있음
  • 새로운 명령을 배울 필요가 없어 개발자의 뇌 용량을 절약할 수 있음

Multipass 인스턴스는 연결됨

  • 인스턴스를 실행하자마자 LAN과 WAN에 접근 가능함
  • 추가 설정 없이 연결이 열려 있음
  • 가상 네트워크를 수동으로 구성하거나 포트를 매핑할 필요가 없음

Multipass 인스턴스는 지속적임

  • Docker 컨테이너는 일회용으로 설계됨
  • 데이터는 공유 볼륨에 저장해야 함
  • Multipass는 mount 명령으로 호스트 폴더를 인스턴스에 마운트할 수 있음
  • 기본 인스턴스는 기본적으로 홈 폴더를 ~/Home으로 마운트하여 파일에 즉시 접근 가능함

Multipass 인스턴스 관리는 쉬움

  • 명령 구문과 옵션이 적고 외우기 쉬움
  • 명령 실행과 파일 전송 기능으로 소프트웨어 설치, 통합 테스트, 배포 작업 등을 자동화하는 스크립트를 쉽게 작성할 수 있음

UI도 있음

  • PopOS! Linux 박스에 Multipass를 설치하면 상단 바에 UI가 나타남

어디서 구할 수 있는가?

  • Multipass는 Linux, MacOS, Windows에서 사용 가능함
  • Linux에서는 snap으로 설치하는 것이 가장 좋음
  • Ubuntu 기반 배포판에서는 snap이 이미 설치되어 있을 가능성이 높음
  • 그렇지 않으면 패키지 관리자를 사용하여 snap 데몬을 먼저 설치해야 함
  • 다른 플랫폼에서는 여기에서 적절한 설치 패키지를 다운로드할 수 있음

비고

  • Oracle VirtualBox와 같은 다른 VM 소프트웨어가 실행 중이면 Multipass 인스턴스가 시작되지 않을 수 있음
  • VirtualBox를 중지하고 다시 시도하면 됨

GN⁺의 정리

  • Ubuntu Multipass는 개발자와 DevOps 엔지니어에게 유용한 가상 머신 관리 도구임
  • Multipass는 개발 환경을 격리하고 깨끗하게 유지하는 데 매우 유용하며, 특히 다양한 Linux 도구를 쉽게 사용할 수 있어 개발자에게 친숙함.
  • Docker나 VirtualBox보다 더 쉽고 간단하게 사용할 수 있음
    • Docker와 비교했을 때, 지속적인 데이터 저장과 네트워크 설정의 간편함이 큰 장점임. 하지만 Docker의 경량성과 빠른 배포 속도도 무시할 수 없음.
  • 완전한 Ubuntu LTS 인스턴스를 실행하여 친숙한 도구와 명령을 바로 사용할 수 있음
  • 로컬에서 다양한 테스트와 배포 시나리오를 쉽게 시도할 수 있어, 실제 환경에서 발생할 수 있는 문제를 미리 발견하고 해결할 수 있음
  • 다양한 플랫폼에서 사용할 수 있으며, 설치도 간단함

내부적으로 가상화 도구가 필요한 걸 보면 그냥 가상화 도구를 다이렉트로 쓰는 게 나아보입니다

정말 snap을 깔아야 하네요? 이것 때문에 snap까지 깔아야 한다면 관리 포인트만 늘어나지 않을까 싶네요 https://multipass.run/install

가상화 게스트를 우분투로만 하는것보다는
내 호스트에서 rootless podman을 사용하는 방법이 우분투,알파인,rhel,rocky등 여러 리눅스os를 게스트로 쓸 수 있으므로 배포환경을 다양하게 대응할 수 있어서 더 유리함

새로운 명령을 배울 필요가 없어 개발자의 뇌 용량을 절약할 수 있음

그런데 나는 Manjaro를 사용하고 있음.

Vagrant for Ubuntu?