실리콘 맥 환경에서 가상머신 생성하기

제이슨·2023년 11월 15일
1
post-thumbnail

가상 머신을 만들게 된 이유

쿠버네티스 학습을 하고 있는데, 강의에서 실습 환경이 아래와 같았습니다.

  • Vagrant
  • VirtualBox
  • Rocky Linux

아쉽게도 가상화 소프트웨어인 VirtualBox는 실리콘 맥 환경을 지원하지 않았고, 실리콘 맥 환경에 맞는 가상화 소프트웨어를 찾거나 AWS를 이용해 실습 환경을 구축해야 하는 상황이었습니다.

AWS EC2 인스턴스를 사용하면 이미지를 사용해 편하게 개발환경을 구축할 수 있지만,
1. '쿠버네티스 권장 사양을 맞추기 위해 소요되는 비용'
2. '가상 머신을 만들고 세팅하는 과정에서 얻는 지식'
때문에 맥 환경에서 가상 머신을 만들기로 결정하였습니다!

Rocky Linux 다운로드

Rocky Linux 다운로드 페이지를 접속하면 아래와 같은 화면이 보이는데, 실리콘 맥 환경은 ARM64 아키텍처입니다.

아래 두번째 이미지에서 확인할 수 있듯 가장 일반적인 설치 ISO는 DVD ISO이므로 DVD ISO를 다운로드 받도록 합시다(추후 OS 설치시 GUI 빼고 설치 가능) 😀

download-rocky

why-dvd

UTM 다운로드

UTM을 선택하게 된 이유?

원래 버추얼 박스를 통해서 가상머신을 만들 예정이었으나, 버추얼 박스 다운로드 페이지에서는 현재 실리콘 맥 OS 환경용 다운로드 링크가 없습니다(전에는 있었지만, 여러 가지 버그 터져서 아예 지원을 안 하기로 결정한듯...).

따라서, 실리콘 맥 환경에서 무료로 사용할 수 있는 가상화 소프트웨어 UTM을 선택하게 되었습니다.

UTM 설치

UTM에서는 설치 경로를 두 가지(홈페이지: 무료, 앱 스토어: 유료) 제공하고 있는데, UTM의 설명 따르면 앱 스토어와 홈페이지 버전의 기능적 차이는 없습니다(앱 제작 후원금의 대가로 자동 업데이트 정도)!

UTM의 다운로드 페이지에서 무료 버전 UTM을 다운받고 설치해 봅시다!

Rocky Linux 가상 머신 만들기

UTM 앱을 실행하면 처음에 아래와 같은 화면을 만날 수 있어요!

가상 머신을 만드는 과정은 아래와 같습니다.

  1. OS 이미지가 네이티브 CPU 아키텍처와 같고 속도가 빠르기 때문에 Virtualize를 선택하겠습니다.

  2. Linux 선택

  3. '탐색'을 눌러 받았던 Rocky Linux ISO 이미지를 선택해주세요!

  4. 메모리 할당 4GB(1024mb*4): 기본 값은 4gb이며, 저는 쿠버네티스 실습 환경에 마스터 노드 하나만 만들 것이기 때문에 권장 환경인 램 4기가로 설정했습니다. 사용 목적과 환경에 맞게 설정해주세요!

  5. 스토리지 32gb: 기본 값은 아래 사진처럼 64gb인데, 실습 환경에 사용할 목적이므로 스토리지를 32gb만 설정했습니다!
    사용 목적에 맞게 설정해주세요!

  6. 공유 폴더: 설정 안 함(나중에 필요하면 ftp로 연결하면 되니까요!)

  7. pc 이름 작성 및 저장

저장 후에는 아래와 같이 가상 머신이 생긴 것을 알 수 있는데요, 윈도우를 설치할 때처럼 OS 설치 파일만 들어있고 OS는 설치되지 않은 상태입니다.

따라서, 시작(재생) 버튼을 눌러 아래 과정을 통해 OS를 설치해줍시다~!

  1. Install Rocky Linux 선택 후 엔터

좀 기다리면 2번과 같은 화면이 표시됩니다.

  1. 계속 진행

이제 아래와 같은 설치 요약 화면에 나오게 되는데요~!

설치 요약에서 우리가 해야 할 건 네 가지입니다!

  1. 시스템 - 설치 목적지 한번 들어갔다 나오기
  • 이미 'UTM - 가상머신 만들기'에서 파티셔닝이 끝난 상태이므로 들어가서 완료만 누르면 됨
  1. 소프트웨어 - 소프트웨어 선택
  • CLI 환경에서 사용할 것이므로 '서버 - GUI 사용'이 아닌 '서버' 선택
  1. root 비밀번호 설정(ssh 로그인 허용)
  2. 네트워크와 호스트 이름
    클릭해서 우측 하단을 보면 '설정' 버튼이 있을텐데, 눌러서 IPv4를 다음과 같이 설정해줍니다.
주소: 192.168.64.30
넷마스크: 255.255.255.0
게이트웨이: 192.168.64.1

우측 하단에 '설치 시작' 버튼이 활성화되고 설치가 완료되면 아래와 같이 재부팅하겠냐고 물어보는데, 재부팅하지 않고 좌측 상단에 전원 버튼을 눌러줍니다.

  • iso 이미지를 삭제하고 부팅해야 설치 화면이 안 나오기 때문입니다.

가상 머신이 종료가 되어 아래 화면처럼 나온다면!

하단에 CD/DVD를 눌러 '초기화'를 클릭해주세요~!

아래와 같은 화면이 나온다면, Rocky Linux가 성공적으로 설치된 겁니다.

cheers! 🎉🎉🎉

맥 터미널로 가상 머신 접속하기

UTM에서 제공하는 터미널은 음.. 디자인이 사용하기 편하게 생기지 않았으며, 복붙도 기본적으로는 불가능합니다.

맥 터미널로 키를 사용하는 부분을 제외하고는 AWS EC2 인스턴스에 접속하는 방식과 같기 때문에 맥 터미널로 가상 머신을 사용하고 싶기도 했구요!

따라서, 맥 터미널로 가상 머신에 접속할 수 있게 설정하고 싶었습니다.

맥 터미널로 가상 머신에 접속하려면 아래와 같은 요소들을 신경써야 합니다.
1. 방화벽
2. ssh 서버 설치 및 포트 개방

아래 단계에 맞추어 방화벽 설정을 변경하고, ssh 포트를 열어보아요~!

  1. root 유저 접속
    Rocky Linux를 설치할 때 root 패스워드 설정했던 거 기억하시죠!?
    그 패스워드를 입력하면 됩니당

  1. ssh 서버 설치
    ssh 포트를 열려면 일단 ssh 서버가 있어야 하기 때문에 ssh 서버를 설치해줍니다.
$ yum -y install openssh-server
  1. 설치 확인
$ which sshd

  1. 방화벽 설정
# firewall-cmd: 방화벽 제어 명령
# --zone=public: 퍼블릭 존에
# --add-port=22/tcp: 22번 포트 추가
# --permanent: 재부팅 후에도 유지
$ firewall-cmd --zone=public --add-port=22/tcp --permanent
  1. ssh 서버 구성 설정 파일 열기
$ vi /etc/ssh/sshd_config
  1. 아래 항목들 주석 해제 및 수정
# ssh 상에서 root 유저 로그인 허용
PermitRootLogin yes

# 로그인 허용 시간 2분 (default)
LoginGraceTime 2m

# 6번 이상 인증 실패시 ssh 세션 종료
MaxAuthTries 6

# ssh 세션을 몇개 띄울 수 있냐(터미널 최대 10개까지 띄울 수 있음을 의미)인데,
#    default 값이 10이니까 10으로 그대로 둠
MaxSessions 10
  1. ssh 데몬 재실행
$ systemctl restart sshd
  1. ifconfig 명령어로 inet주소(네트워크 인터페이스에 할당된 IP 주소) 확인
  1. 맥 터미널에서 가상머신 접속
$ ssh 유저-이름@inet주소
$ yes

축하합니다! 이제, 맥 터미널로 Rocky Linux 가상 머신을 접속할 수 있게 되었습니다 🎉🎉🎉🎉🎉

한 가지 아쉬운 점

음,, 사실 가상머신을 설치하는 목적 중 하나가 간편한 OS 설치, 제거인데, Rocky 리눅스를 설치한 후부터 맥 터미널과 연결하는 과정까지 너무 번거롭다고 느꼈어요!

마음 같아서는 베이그런트(vagrant)를 사용하고 싶지만, 아쉽게도 베이그런트는 UTM을 지원하지 않습니다.

시간이 허락한다면, 쉘 스크립트를 만들고 웹 상에 저장해 초기 설정 과정을 쉽게 만드는 포스트를 작성해 보겠습니다!

참고자료

쿠버네티스 어나더 클래스 (지상편) - Sprint1

profile
계속 읽고 싶은 글을 쓰고 싶어요 ☺

0개의 댓글