개발 · 프로그래밍

/

데브옵스 · 인프라

멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)

가상화 환경 구축을 위해 필요한 기본적인 지식에 대해 이해하고, Vagrant + VirtualBox라는 툴을 이용하여 사용자의 환경에 맞는 가상환경을 생성하고 Docker와 Kubernetes Cluster를 구축해 봅니다. 또한 Apple silicon chip을 사용하는 macOS 환경에 적합한 가상화 SW에 대해서도 소개하고 실습할 수 있습니다.

(4.9) 수강평 45개

수강생 2,588명

Thumbnail

초급자를 위해 준비한
[시스템 · 운영체제] 강의입니다.

이런 걸
배워요!

  • Windows, macOS 환경에서의 가상화환경 구축 실습

  • Vagrant + VirtualBox를 이용한 가상화환경 구축 실습

  • Docker + K8s 사용을 위한 가상화환경 구축 실습

 가상화Virtualization 환경 구축을 위한
기초 지식부터 설치 실습까지! 

초보 개발자를 위한
가상화 환경 구성하기

  • 가상화 환경에 대한 기본 개념을 이해하고, 사용자 시스템에 가상머신을 설치하는 과정을 알아봅니다.
  • Windows와 macOS(Intel Chip, Apple Silicon Chip) 환경에서 가상머신을 생성하는 방법에 대해 학습합니다. 
  • 리눅스(Ubuntu) 가상머신에 Docker Engine과 Kubernetes Cluster 환경을 구축하는 방법에 대해 학습합니다. 

가상화(Virtualization) 란?

유연성

민첩성

내결함성

비용절감

하나의 물리적인 머신에서 여러 개의 운영체제(OS)를 실행하는 것을 말합니다. 클라우드 컴퓨팅(Cloud Computing)에서의 가상화는 운영체제 내에서 가상 머신을 생성하는 하드웨어 가상화를 의미합니다.


이런 분들께 
추천합니다.

  • ✅ 멀티 운영체제를 사용해 보려는 사람
  • ✅ 가상환경에 대해 이해하려는 사람
  • 가상머신을 이용하여 Docker와 Kubernetes Cluster를 구성해 보려는 사람
  • Windows, macOS(Intel chip, Apple silicon chip) 환경에 가상머신을 생성하려는 사람

수강 과정

  • Windows와 MacOS 환경에서 Linux와 같은 다른 운영체제를 사용하는 방법에 대해 살펴봅니다.
  • 실습을 통해 사용자의 환경에 맞는 가상화 SW를 이용하여 가상머신을 생성해 봅니다.
  • 가상머신으로 실행되는 Ubuntu Linux 서버에 Docker와 Kubernetes Cluster를 설치하고 구성하는 방법에 대해 한 단계씩 실습해 보면서 자신만의 가상화 환경을 구축해 볼 수 있습니다. 

학습 목표

  • 가상화 환경에 대해서 이해하고 자신에게 필요한 가상머신을 생성할 수 있습니다.
  • 자신이 사용하는 운영체제에 맞는 가상화 SW을 선택하고, 컨테이너 가상화 환경에 필요한 SW를 설치하고 구성할 수 있습니다.
  • Vagrant + VirtualBox를 이용하여 간단하게 가상머신을 생성하고, Kubernetes Clustesr 환경을 구축할 수 있습니다.

배우는 내용을 
확인해보세요.

쉽게 배우는 가상화 환경

  • 사용자의 환경에 맞는 가상화 SW를 설치하는 방법과, 가상화 SW를 보다 쉽게 사용할 수 있는 도구에 대해 설명합니다. 
  • Windows와 macOS Intel chip 사용자는 Vagrant + VirtualBox의 조합으로 가상화 환경을 구축할 수 있습니다. 또한 실습을 위한 Vagrantfile을 함께 제공하고 있기 때문에, 간단한 명령어만으로 가상머신을 생성해 볼 수 있습니다. 
  • 아울러 macOS Apple Sillicon Chipt 사용자는 UTM이라는 소프트웨어를 이용해 Ubuntu Server를 설치하고, 생성된 가상머신에 Docker(도커)를 설치해 컨테이너 가상화 환경을 구축할 수 있습니다.
강의에서 구성하는 전체 가상화환경 구성도
(Vagrant + VirtualBox를 이용해 Ubuntu Linux 서버 3대 설치)
macOS(Intel Chip) 환경에서 VirtualBox를 사용하는 모습

실습 중심으로 수월한 학습

  • Master + Node1 + Node2로 구성된 3대의 VM을 생성하고, Kubernetes Cluster 환경을 구축하는 실습을 진행합니다.
  • 이론과 실습의 비중은 대략 3:7 정도로, 실습 위주로 본 강의를 시청할 수 있습니다.
  • 실습에 사용되는 스크립트를 함께 제공하여, 어렵지 않게 자신만의 가상화 환경을 구성해 볼 수 있습니다. 
  • 강의에서 설명하고 있는 Docker(도커)와 Kubernetes Cluster(쿠버네티스 클러스트) 설치/구성 외에, 사용 방법 및 자세한 설명에 대해서는 별도의 외부 강의 및 자료를 참조하시는 것을 추천드립니다. 
Vagrant + VirtualBox를 이용해 Kubernets Cluster를 쉽게 구성할 수 있습니다.
macOS(Apple Silicon Chip) 사용자를 위해 UTM을 이용하여 가상머신을 생성하는 방법에 대해 설명합니다.

강의에 사용된 가상머신 생성을 위한 스크립트 파일과 설치 가이드를 함께 제공합니다.


Q&A 💬

Q. 강의를 수강하기 위해 필요한 선수 과목이나 지식에는 어떤 것이 있나요? 

기본적인 IT 지식과 용어에 대해서 이해하고 있으시면 됩니다. 추가로 간단한 스크립트 작성이 포함되어 있기 때문에 Visual Studio Code 및 Linux에서 사용되는 Vim, nano 에디터 등을 사용하실 수 있다면 더 쉽게 수강하실 수 있습니다. 물론 해당 에디터에 대한 사용 경험이 없다고 해도, 강의를 수강하시는 데는 문제 없습니다. 

Q. 강의를 위해 필요한 실습 환경은 어떻게 되나요? 

본 강의는 Windows 사용자와 Intel chip을 사용하는 MacOS 사용자를 위해 Vagrant와 VirtualBox라는 SW를 설치하고 사용는 방법에 대해 설명하고 있습니다. 만약 Apple silicon chip (M1, M2)을 사용하는 MacOS 사용자는 섹션 5에서 설명하는 UTM을 이용하여 가상머신을 생성해 보실 수 있습니다. 

Q. 강의 내용에 Docker와 Kubernetes Cluster 설치와 구성이 포함되어 있는데, 자세한 사용 방법에 대해서도 배우게 되나요?

본 강의는 저의 또다른 강의인 "Jenkins를 이용한 CI/CD Pipeline 구축"에서 사용될 수 있는 가상화 환경에 대해 보다 쉽게 설치할 수 있도록 소개하기 위한 자료로 준비하게 되었습니다. 따라서 수강생 분들이 사용하시는 환경에 따라 가상화환경의 구축이나, 가상머신의 생성 등의 대한 내용을 주로 소개하고 있습니다. 강의 실습 내용 중 Docker와 Kubernetes Cluster를 설치하고 구성하는 방법을 소개하고는 있지만, 자세한 사용 방법이나 개념 등에 대한 내용은 다루고 있지 않습니다.

💾 수강 및 실습 환경

  • 운영 체제 및 버전(OS): Windows, MacOS(Intel chip), MacOS(Apple silicon chip)
  • 사용 도구: Visual Studio Code, Vagrant, VirtualBox, Termius, UTM
  • PC 사양: CPU i5 이상, 메모리 16G, 디스크 500GB 이상의 사용을 권장합니다.

📢 수강 전 참고 사항

  • 본 강의는 초보자를 대상으로 가상화 환경을 구성하는 방법에 대해 소개하고 있습니다. 
  • 강의 영상 품질(음질/화질)은 최대한 통일해서 인코딩하려고 하였습니다만, 간혹 녹화 환경에 따라 음질이 고르지 못할 수 있습니다. 
  • 질문/답변을 통해 등록된 질문은 최대한 빨리 답변 드리도록 하겠습니다. 
  • 강의 및 학습 자료 저작권은 강사 및 (주)엔제이원컴퍼니에 있습니다. 
  • 강의에 쓰인 교안은 별도의 PDF 파일로 제공합니다. 그외 설치 가이드 및 스크립트는 깃허브 리포지토리에서 확인해 주세요.

지식공유자의 다른 강의가 궁금하다면?

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 시스템에 멀티 OS 환경을 구축하려는 사람

  • 가상화환경을 구축하여 다양한 서비스를 실행해 보려는 사람

  • Vagrant + VirtualBox를 이용하여 가상화환경을 구축하려는 사람

  • Docker + Kubernetes를 구축하기 위해 가상화환경을 구축하려는 사람

  • macOS에서 VM을 이용한 리눅스 서버를 실행해 보려는 사람

선수 지식,
필요할까요?

  • IT 서비스에 대한 기본 지식

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 
  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수
  • ) JP Mogan Chase AMJ Tech consultant (일본)
  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

커리큘럼

전체

17개 ∙ (2시간 38분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!