multipass는 Canonical에서 배포하는 VM 설치 도구로서 CLI 단 몇 줄 만으로 정말 빠르게 VM을 배포 할수 있게 해주며 Mac 뿐만 아니라 Windows도 지원한다.
Linux 환경에서는 KVM, Windows에서는 Hyper-v, MacOS에선 HyperKit을 사용하여 VM을 생성, 관리하게 된다.
$ brew install --cask multipass
$ multipass launch
사용 할 버전을 명시해줄 수도 있다.
$multipass launch 20.04
아래와 같은 옵션 값을 통해 인스턴스의 스펙을 조절해줄 수 있다.
$ multipass launch --cpus <cpus> --disk <disk> --mem <mem> --name <name>
$ multipass launch 20.04 --network en0 -n macmini-vm -c 6 -d 500G -m 24G
$ sudo passwd ubuntu
$ ssh ubuntu@192.168.64.5
하지만 다음과 같이 접속이 불가능하다.
The authenticity of host '192.168.64.5 (192.168.64.5)' can't be established.
ED25519 key fingerprint is SHA256:bJk2LgQsmJO6TNKWNjRl400EfLdr+hpkWdNPWZuyksU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.64.5' (ED25519) to the list of known hosts.
ubuntu@192.168.64.5: Permission denied (publickey).
multipass list
multipass shell <instance name>
-- 하이픈 두개 뒤에 리눅스에서 사용 할 명령어를 입력한다.
multipass exec <instance name> -- <명령어>
stop 명령어를 통해 인스턴스를 정지시킬 수 있다. 정지된 인스턴스는 State가 Stopped가 된다.
multipass stop <instance name>
start 명령어를 통해 정지되어 있던(Stopped 상태) 인스턴스를 실행시킬 수 있다.
multipass start <instance name>
delete 명령어를 통해 인스턴스를 삭제할 수 있다. 해당 명령어를 통해 인스턴스를 삭제할 경우, 완전히 없어지는 것이 아니다. ls 명령을 통해 인스턴스 목록을 조회할 시, State가 deleted인 상태로 남아있다.
multipass delete <instance name>
recover 명령어를 통해 deleted 상태인 인스턴스를 복구할 수 있다. 복구된 인스턴스는 Stopped 상태가 된다.
multipass recover <instance name>
multipass purge