4.1.2 가상 머신 또는 물리 머신 준비
openSUSE Leap 또는 Tumbleweed 버전을 선택하셨다면, 이제 이 운영체제를 실제로 설치하고 운영할 ‘집’을 마련할 차례입니다. 이 ‘집’은 여러분이 사용하시는 컴퓨터 환경에 따라 크게 두 가지 형태가 될 수 있습니다. 하나는 여러분의 주 사용 컴퓨터(노트북 또는 데스크톱) 안에 독립된 공간을 만들어 설치하는 가상 머신(Virtual Machine, VM) 방식이고, 다른 하나는 여분의 컴퓨터나 서버 하드웨어에 직접 운영체제를 설치하는 물리 머신(Physical Machine, 또는 베어메탈 Bare Metal) 방식입니다.
어떤 방식을 선택하시든 장단점이 있습니다. 가상 머신의 가장 큰 장점은 유연성과 안전성입니다. 현재 사용 중인 운영체제(예: 윈도우, macOS)를 그대로 유지하면서, 그 안에 독립된 가상 컴퓨터를 생성하여 openSUSE를 설치할 수 있습니다. 실습 중 문제가 발생해도 가상 머신만 삭제하거나 이전 상태(스냅샷)로 되돌리면 되므로, 주 시스템에 영향을 줄 걱정이 없습니다. 또한, 필요에 따라 여러 대의 가상 머신을 생성하여 마치 여러 대의 서버가 있는 것처럼 쿠버네티스 클러스터 환경을 흉내 내 볼 수도 있습니다. 학습 및 실험 목적에는 가장 권장되는 방식입니다.
반면, 물리 머신에 직접 설치하는 방식은 하드웨어의 성능을 최대한 활용할 수 있다는 장점이 있습니다. 가상화 소프트웨어를 거치지 않으므로 약간의 성능 저하도 없습니다. 만약 사용하지 않는 여분의 PC나 노트북이 있다면, 이를 openSUSE 전용 실습 머신으로 만드는 것도 좋은 방법입니다. 다만, 이 경우 해당 하드웨어 전체를 openSUSE가 관리하게 되며, 다른 운영체제와의 멀티 부팅 설정 등 추가적인 고려 사항이 있을 수 있습니다.
이 책에서는 주로 가상 머신을 이용한 실습 환경 구축을 기준으로 설명할 예정입니다. 이는 대부분의 독자분들이 추가 하드웨어 없이 기존 컴퓨터를 활용하여 쉽게 따라 할 수 있도록 하기 위함입니다. 하지만 물리 머신에 설치하시는 경우에도, 다음 절에서 설명할 최소 시스템 요구 사양은 동일하게 중요하며, 설치 과정 자체는 유사하게 진행됩니다.
4.1.2.1 최소 시스템 요구 사양 (CPU, RAM, Disk)
openSUSE 자체는 비교적 가벼운 운영체제이지만, 우리가 이 환경 위에서 궁극적으로 실행하고자 하는 것은 쿠버네티스와 그 위에서 동작하는 컨테이너화된 애플리케이션들입니다. 따라서 단순히 openSUSE가 부팅되는 수준을 넘어, 쿠버네티스 클러스터(비록 단일 노드일지라도)와 몇 개의 애플리케이션을 원활하게 실행할 수 있는 충분한 자원을 확보하는 것이 매우 중요합니다. 자원이 부족하면 시스템이 느려지거나 불안정해져 학습의 즐거움과 효율이 크게 떨어질 수 있습니다.
다음은 openSUSE를 설치하고 기본적인 쿠버네티스 실습을 진행하기 위한 최소 권장 사양입니다. 이는 ‘최소’ 사양임을 명심해 주십시오. 더 넉넉한 자원은 항상 더 쾌적한 실습 환경을 의미합니다.
- CPU (Central Processing Unit):
- 최소: 2개 이상의 코어(Core)를 가진 CPU가 필요합니다. 가상 머신 환경에서는 이를 vCPU(virtual CPU)라고 부릅니다. CPU 코어가 1개뿐이라면 운영체제 자체와 백그라운드 프로세스를 처리하는 것만으로도 벅차서, 쿠버네티스 컴포넌트나 애플리케이션을 실행하기 어렵습니다.
- 권장: 4개 이상의 코어(vCPU)를 할당하는 것이 좋습니다. 이는 운영체제, 쿠버네티스 컨트롤 플레인, 워커 노드 역할(단일 노드 클러스터의 경우), 그리고 실제 실행할 애플리케이션 컨테이너들이 동시에 원활하게 동작하는 데 도움이 됩니다. 현대의 대부분 데스크톱 및 노트북 CPU는 4코어 이상을 지원하므로, 가상 머신 설정 시 4 vCPU를 할당하는 것을 목표로 하시면 좋습니다. (CPU 아키텍처는 x86_64를 기준으로 합니다.)
- RAM (Random Access Memory):
- 최소: 4 GB의 RAM이 실질적인 최소 요구 사양입니다. openSUSE 운영체제 자체도 메모리를 사용하며, 쿠버네티스(특히 컨트롤 플레인 컴포넌트들)는 생각보다 많은 메모리를 필요로 합니다. 2GB RAM으로도 설치 및 부팅은 가능할 수 있으나, 쿠버네티스를 실행하고 간단한 애플리케이션을 배포하는 것조차 매우 어렵거나 불가능할 수 있습니다.
- 권장: 8 GB 이상의 RAM을 강력히 권장합니다. 8GB 정도면 단일 노드 쿠버네티스 클러스터(예: k3s, minikube, kind 등)를 운영하고 몇 개의 기본적인 애플리케이션을 배포하며 실습하는 데 무리가 없습니다. 만약 여러 노드로 구성된 클러스터를 시뮬레이션하거나, 모니터링 도구(Prometheus, Grafana 등) 또는 더 복잡한 애플리케이션을 실행할 계획이라면 16GB 이상을 고려하는 것이 좋습니다. 메모리는 부족할 경우 시스템 성능 저하에 가장 직접적인 영향을 미치는 요소이므로, 가능하면 넉넉하게 할당하는 것이 좋습니다.
- Disk (저장 공간):
- 최소: 25 GB의 디스크 공간이 필요합니다. 여기에는 openSUSE 운영체제 설치 공간, 기본적인 개발 도구들, 컨테이너 런타임(예: containerd, CRI-O), 그리고 쿠버네티스 자체 설치 공간이 포함됩니다. Btrfs 파일 시스템을 사용할 경우 스냅샷 저장을 위한 약간의 추가 공간도 고려해야 합니다.
- 권장: 40 GB 이상의 디스크 공간을 권장합니다. 쿠버네티스 환경에서는 다양한 컨테이너 이미지를 다운로드하고 저장해야 하며, 애플리케이션 데이터를 위한 퍼시스턴트 볼륨(Persistent Volume)도 필요할 수 있습니다. 또한, Btrfs 스냅샷 기능의 이점을 충분히 누리려면 여유 공간이 있는 것이 좋습니다. 40~50GB 정도면 기본적인 실습에는 충분할 것입니다.
- 디스크 종류: 가능하다면 SSD(Solid State Drive)를 사용하는 것이 좋습니다. HDD(Hard Disk Drive)에 비해 운영체제 부팅 속도, 애플리케이션 로딩 속도, 컨테이너 이미지 빌드 및 실행 속도 등 전반적인 성능에서 큰 차이를 보입니다. 실습 환경의 쾌적함에 큰 영향을 미치므로, 가상 머신의 가상 디스크 파일이 저장되는 호스트 드라이브가 SSD인 것이 이상적입니다.
- 네트워크: 당연하지만, 인터넷 연결이 가능한 네트워크 인터페이스가 필요합니다. 소프트웨어 패키지 다운로드, 컨테이너 이미지 가져오기, 그리고 향후 클러스터 노드 간 통신(여러 VM을 사용하는 경우)에 필수적입니다. 가상 머신 설정 시 네트워크 어댑터 설정을 통해 이를 구성하게 됩니다.
이 요구 사양들은 여러분이 쿠버네티스와 클라우드 네이티브 기술을 배우는 여정을 좌절 없이 즐겁게 시작할 수 있도록 돕기 위한 가이드라인입니다. 여러분의 컴퓨터 사양을 확인하시고, 이 기준을 충족하거나 초과하는 환경을 준비해주시기 바랍니다.
4.1.2.2 가상화 소프트웨어 (VirtualBox, VMware 등) 설정
가상 머신 방식으로 실습 환경을 구축하기로 결정하셨다면, 이제 여러분의 컴퓨터에 ‘가상 컴퓨터 공장’ 역할을 할 가상화 소프트웨어를 설치하고 설정해야 합니다. 가상화 소프트웨어는 호스트 운영체제(여러분의 윈도우 또는 macOS) 위에서 독립된 하드웨어 환경을 에뮬레이션하여 게스트 운영체제(우리가 설치할 openSUSE)를 실행할 수 있게 해주는 프로그램입니다.
시중에는 다양한 가상화 소프트웨어가 있지만, 개인 사용자가 무료로 사용하거나 쉽게 접근할 수 있는 대표적인 두 가지는 다음과 같습니다.
- Oracle VM VirtualBox:
- 오라클에서 제공하는 무료 오픈소스 가상화 소프트웨어입니다. 윈도우, macOS, 리눅스 등 다양한 운영체제에서 사용할 수 있으며, 개인 사용자에게 필요한 대부분의 기능을 제공합니다. 설정이 비교적 직관적이고 커뮤니티 지원도 활발하여 초보자가 사용하기에 좋습니다.
- 이 책에서는 VirtualBox를 기준으로 가상 머신 생성 및 설정 과정을 설명할 예정입니다.
- VMware Workstation Player:
- VMware 사에서 제공하는 가상화 소프트웨어입니다. 개인적인 용도(비상업적 목적)에 한해 무료로 사용할 수 있습니다. (상업적 사용이나 고급 기능이 필요한 경우 유료 버전인 VMware Workstation Pro 또는 Fusion(macOS용)을 사용해야 합니다.)
- VMware 제품군은 일반적으로 성능과 안정성 면에서 좋은 평가를 받으며, 기업 환경에서도 널리 사용됩니다. VirtualBox와 사용법이 약간 다르지만 기본적인 개념은 동일합니다.
이 외에도 윈도우 10/11 Pro 이상 버전에 내장된 Hyper-V나 리눅스 환경의 KVM/QEMU 등 다양한 가상화 기술이 있지만, 이 책에서는 가장 접근성이 높은 VirtualBox를 중심으로 설명하겠습니다. 어떤 소프트웨어를 선택하시든 기본적인 원리는 비슷하므로, 선호하는 것이 있다면 그것을 사용하셔도 무방합니다.
가상 머신 생성 및 기본 설정 단계:
이제 선택한 가상화 소프트웨어(예: VirtualBox)를 사용하여 openSUSE를 설치할 새로운 가상 머신을 생성하는 과정을 간략히 안내해 드립니다. (자세한 단계별 스크린샷과 설명은 본문에서 제공될 것입니다.)
- 가상화 소프트웨어 실행 및 ‘새로 만들기’ 선택: VirtualBox를 실행하고 ‘새로 만들기(New)’ 버튼을 클릭하여 새 가상 머신 생성 마법사를 시작합니다.
- 이름 및 운영체제 종류 지정:
- 가상 머신의 이름을 지정합니다. 나중에 알아보기 쉽도록 “openSUSE Leap 15.x – K8s Node”와 같이 명확하게 적는 것이 좋습니다.
- ‘종류(Type)’는 ‘Linux’를 선택하고, ‘버전(Version)’은 ‘openSUSE (64-bit)’를 선택합니다. (설치하려는 openSUSE 버전에 맞춰 선택)
- 메모리 크기 할당: 앞서 설명한 최소 요구 사양(최소 4GB, 권장 8GB 이상)에 맞춰 가상 머신에 할당할 RAM 크기를 설정합니다. 슬라이더를 조절하거나 직접 값을 입력합니다. 호스트 컴퓨터의 전체 RAM 용량을 초과하지 않도록 주의해야 합니다.
- 가상 하드 디스크 생성:
- ‘지금 새 가상 하드 디스크 만들기’를 선택합니다.
- 하드 디스크 파일 종류는 기본값(VirtualBox 디스크 이미지, VDI)을 사용해도 무방합니다.
- 저장 공간 할당 방식은 ‘동적 할당(Dynamically allocated)’ 또는 ‘고정 크기(Fixed size)’ 중 선택할 수 있습니다.
- 동적 할당: 처음에는 작은 크기로 생성되고, 가상 머신 내부에서 데이터가 기록됨에 따라 점차 파일 크기가 커집니다. 호스트 디스크 공간을 효율적으로 사용할 수 있지만, 약간의 성능 저하가 있을 수 있습니다. (초보자에게 권장)
- 고정 크기: 설정한 크기만큼의 파일을 호스트 디스크에 미리 생성합니다. 공간을 미리 차지하지만, 디스크 조각화가 덜 발생하여 약간 더 나은 성능을 보일 수 있습니다.
- 디스크 크기는 앞서 설명한 최소 요구 사양(최소 25GB, 권장 40GB 이상)에 맞춰 설정합니다.
- 가상 머신 생성 완료 및 추가 설정: ‘만들기’ 버튼을 누르면 기본적인 가상 머신 틀이 생성됩니다. 이제 생성된 가상 머신을 선택하고 ‘설정(Settings)’ 메뉴로 들어가 몇 가지 중요한 추가 설정을 확인하고 조정해야 합니다.
- 시스템(System) > 프로세서(Processor): CPU 코어 수를 앞서 설명한 요구 사양(최소 2개, 권장 4개 이상)에 맞춰 할당합니다. 호스트 CPU 코어 수를 초과하지 않도록 주의합니다. PAE/NX 기능이 활성화되어 있는지 확인합니다.
- 디스플레이(Display): 비디오 메모리 크기를 적절히 (예: 128MB) 할당합니다. 3D 가속 사용 여부는 선택 사항입니다.
- 저장소(Storage): 비어 있는 ‘광학 드라이브(Optical Drive)’ 아이콘을 선택하고, 오른쪽 속성 창에서 디스크 아이콘을 클릭하여 미리 다운로드해 둔 openSUSE 설치 ISO 파일을 선택(연결)합니다. 이렇게 해야 가상 머신이 처음 부팅될 때 CD/DVD 드라이브에 설치 디스크가 들어있는 것처럼 인식하여 설치 과정을 시작할 수 있습니다.
- 네트워크(Network): 여기가 중요합니다. 여러 가지 ‘다음에 연결됨(Attached to)’ 옵션이 있습니다.
- NAT (Network Address Translation): 가장 간단한 설정입니다. 가상 머신은 호스트 컴퓨터를 통해 인터넷에 연결되며, 외부에서는 가상 머신에 직접 접근하기 어렵습니다. 단일 가상 머신 실습에는 충분합니다.
- NAT 네트워크(NAT Network): 여러 가상 머신들이 서로 통신하면서 동시에 호스트를 통해 외부 인터넷에도 접속해야 할 때 유용합니다. VirtualBox 설정에서 미리 ‘NAT 네트워크’를 생성해두어야 합니다. 여러 노드로 쿠버네티스 클러스터를 구성하는 실습에 권장됩니다.
- 브리지 어댑터(Bridged Adapter): 가상 머신이 호스트 컴퓨터와 동일한 네트워크 상에 있는 별개의 컴퓨터처럼 동작하게 됩니다. 호스트와 같은 네트워크 대역의 IP 주소를 할당받으며, 다른 실제 컴퓨터들과 직접 통신할 수 있습니다. 설정이 조금 더 복잡할 수 있지만, 실제 네트워크 환경과 가장 유사합니다.
- 호스트 전용 어댑터(Host-only Adapter): 호스트 컴퓨터와 가상 머신들 간의 폐쇄적인 내부 네트워크를 구성합니다. 외부 인터넷 접속은 기본적으로 차단됩니다.
- 초기 설정 추천: 단일 노드 실습이 주 목적이라면 NAT로 시작하거나, 여러 노드 구성 계획이 있다면 NAT 네트워크를 사용하는 것이 편리합니다. 이 책의 실습에서는 필요에 따라 네트워크 설정을 변경하는 방법도 안내할 것입니다.
- 설정 저장: 모든 설정을 확인하고 ‘확인’ 버튼을 눌러 저장합니다.
이제 openSUSE를 설치할 준비가 된 가상 머신이 마련되었습니다! 다음 단계는 이 가상 머신을 시작(부팅)하여 연결된 openSUSE 설치 ISO 이미지를 통해 실제 운영체제 설치 과정을 진행하는 것입니다.
가상화 소프트웨어와 가상 머신 설정은 처음에는 다소 복잡하게 느껴질 수 있지만, 몇 번 경험해보면 익숙해질 것입니다. 잘 준비된 실습 환경은 앞으로의 학습 과정을 훨씬 순조롭게 만들어 줄 든든한 발판이 될 것입니다.