Room9

Kubernetes Cluster (1) - VirtualBox VM Config 본문

Kubernetes

Kubernetes Cluster (1) - VirtualBox VM Config

Room9_ 2021. 11. 28. 21:41

Overview

kubernetes를 테스트할 수 있는 환경을 만들어보려고 합니다. 기존에 WindowOS의 Virtualbox를 이용하여 구성된 클러스터가 있지만 이번에는 MacOS에 Virtualbox에 구성해보려고 합니다. 클러스터를 만드는 방법에는 여러 가지가 있겠지만 대표적으로 Cloud 벤더에서 제공하는 EKS, GKE, NKS 등 클러스터에서 관리형으로 사용하는 방법, 온프레미스에서 클러스터를 구성하는 방법, 해당 글에서 설명할 가상 VM을 통한 구축 방법 등 여러 가지가 있겠지만 노트북만 있다면 어디서나 kubectl 명령어를 통한 테스트가 용이한 가상 VM을 이용한 클러스터 구축을 진행하겠습니다.


Detail

  • MacOS : VirtualBox가 설치되는 OS라면 어느 OS건 문제가 되지 않습니다.
  • Architecture
  • VirtualBox : 6.1.30
    • Network
    • VM
    • Port Forwarding


Architecture

클러스터 구성도는 아래와 같습니다.

Host Interface는 회사 공유기에서 받은 유동 IP입니다. k8s에 구성에 사용할 NAT Network를 10.0.1.0/24 대역으로 설정하였습니다.


Virtualbox

Network

1. Virtualbox 환경설정 - 네트워크 - 새 NAT Network 추가

2. 아래 항목 입력

  • 네트워크 이름 : k8s-network
  • 네트워크 CIDR : 10.0.1.0/24
  • 네트워크 옵션 : DHCP 지원

확인해주시면 클러스터에서 사용할 NAT Network 구성은 마쳤습니다. 이후 각 노드들의 설정을 위해 SSH 접속을 하기 전 포트 포워딩 메뉴를 사용하여 구성하도록 하겠습니다. 위의 아키텍처 그림에서는 Virtual NAT 부분이 만들어졌습니다.

VM

VM이 생성될 네트워크가 만들어졌으니 다음으로 VM을 만들어 보겠습니다.

1. 새로만들기

2. 이름 및 운영체제

  • 이름 : m-k8s
  • 종류 : Linux
  • 버전 : Ubuntu ( 64bit )

3. 메모리 크기 : 4096MB ( 추후 변경도 가능한 옵션입니다. )

4. 하드디스크 : 지금 새 가상 하드디스크 만들기

5. 하드디스크 파일 종류 : VDI (VirtualBox 디스크 이미지)

6. 물리적 하드 드라이브에 저장 : 고정크기

7. 파일 위치 및 크기 : 20GB

위와 동일하게 w1-k8s , w2-k8s VM도 생성해주시면 됩니다.

그림에서는 m-k8s의 메모리는 2048MB로 지정되었습니다.

Ubuntu 설치관련 부분은 따로 기입하지 않았습니다.

이제 각각의 VM에 SSH 접속을 해보겠습니다.

Port Forwarding

HOST에서 각 VM으로 접속하기 위한 포트 포워딩 설정을 해줍니다.

1. NAT Network - 포트포워딩

  • 이름 : Rule 1
  • 프로토콜 : TCP
  • 호스트 포트 : 60010
  • 게스트 IP : 10.0.1.4
  • 게스트 포트 : 22

아래와 같이 Master가 아닌 worker들도 입력해줍니다. 게스트 IP와 게스트 Port만 동일하게 입력해주시면 됩니다. 포트는 겹치지 않게만 입력해주세요.

포트 포워딩 설정도 완료되었습니다. 이제 SSH 접속 테스트를 진행해보겠습니다.

ssh master@localhost -p 60010
ssh master@localhost -p 60011
ssh master@localhost -p 60012

접속이 되지 않는다면 각 VM에 직접 접속하여 SSH 설치 여부와 방화벽 포트에 22번이 열려있는지 확인하세요

저 같은 경우에는 당연히 SSH가 설치되어 있을 줄 알았지만 접속이 불가능하여 각 VM에 들어가서 SSH를 직접 설치하는 과정이 있었습니다

마치며

여기까지 Kubernetes를 구성하기 위한 VM 3대를 구성하였습니다.

맥북을 선물 받게 되어 맥북에 VirtualBox를 이용하여 클러스터를 구성할 예정입니다. 기존 Windows에 설치한 클러스터는 직접 구성을 진행한 게 아니고 여러 쿠버네티스 서적들에 포함된 내용을 가지고 설치를 진행하였기 때문에 이번 기회에 직접 설치를 진행하고 있습니다. 다음 시간에는 이번에 만들어진 VM 3대를 이용하여 Kubeadm을 이용하여 클러스터 구축을 진행을 포스팅하도록 하겠습니다.

읽어주셔서 감사합니다. 틀린 부분이나 수정할 부분 피드백은 언제나 환영입니다.


Comments