본문 바로가기

DevOps & SRE 엔지니어 부트캠프/프로젝트 진행

[프로젝트] 가상머신 만들기

Oracle VM

가상머신 생성

가상머신 스펙

  • Oracle VM VirtualBox 
  • CPU : 2
  • Memory : Master Node - 4096 MiB / Worker Node - 2048 MiB
  • OS : Ubuntu 22.04 

추후 ARM 서버의 VMware EXSi를 사용할 예정이지만, 그 전에 테스트용으로 오라클 VM에 k8s를 설치하였다.

가상머신 네트워크

  • 네트워크 대역
    • 192.168.56.0/24
    • NAT Network + Host-Only Network
  • 마스터 노드
    • 192.168.56.11
  • 워커 노드
    • 192.168.56.21
    • 192.168.56.22
    • 192.168.56.23

Ceph Storage Cluster를 형성하기 위해선 워커노드가 최소 3개는 필요하다.

진행과정

가상머신 설정

  • 우분투 공식 홈페이지에서 Ubuntu 22.04 LTS 이미지 다운로드

https://releases.ubuntu.com/22.04/

 

Ubuntu 22.04.5 LTS (Jammy Jellyfish)

Select an image Ubuntu is distributed on three types of images described below. Desktop image The desktop image allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently later. This type of image is what m

releases.ubuntu.com

64-bit PC desktop image를 다운로드 받는다.

  • 가상머신 새로 만들기 클릭

kube-control / kube-node1(2,3,4)
마스터 - 4096 / 워커 - 2048
모든 가상머신 네트워크 설정

  • 오라클 VM에는 NAT / NAT Newtork 이름이 비슷한 두 종류의 네트워크가 있다.
    • NAT : Host와 가상머신은 통신이 가능하지만, 가상머신은 모두 동일한 ip주소를 할당받아 가상머신끼리는 통신이 불가능함 -> k8s 클러스터 형성 안됨(노드끼리 통신이 안됨)
    • Nat Newtork : 가상머신끼리 같은 대역대에 서로 다른 ip 주소를 할당 받아 k8s 노드끼리 통신이 가능해짐

패키지 다운로드에 쓰이는 미러 주소를 카카오로 변경함(그냥 둬도 됨)
USED DEVICES -> Ubuntu-lv Size를 22.99GB로 수정하여 최대 용량을 사용하게 만듬(그냥 둬도 됨)
가상머신 호스트 이름 / 비밀번호 설정

  • 이후 가상머신을 생성하게 되는데, 생성하는데 시간이 좀 걸린다.
  • 생성을 마치고 접속하게 되면 아래와 같아야한다.

호스트 이름이 kub-control로 되어있는 것을 확인

  • 이와 같이, 메모리를 2048MiB로 줄인 워커노드를 추가로 3개 생성하면 된다(여기서 시간 제일 많이 쓴 것 같다...)
  • Vagrant를 이용해서 가상머신을 손쉽게 만들고 제거할 수 있는데, 네트워크 공부도 할겸 직접 만들었다. 덕분에 문제 생겨서 처음부터 다시할 때마다 가상머신 생성을 새로 했어야 하는데, 6시간은 생성하는데만 쓴듯 ... 

SSH 연결

  • 프로젝트에 사용했던 노트북이 리눅스였기 때문에, 바로 SSH 연결을 할 수 있었다.
# 키생성
# 알고리즘 방식을 rsa로 해서 ~/.ssh/ 경로에 id_tux 키 파일 새엇ㅇ
ssh-keygen -t rsa -f ~/.ssh/id_tux

# 생성된 키 확인
ls -l ~/.ssh

# 키 복사
ssh-copy-id user@192.168.56.11
ssh-copy-id user@192.168.56.21
ssh-copy-id user@192.168.56.22
ssh-copy-id user@192.168.56.23

# SSH 접속
ssh user@[ IP ]
  • 이제 가상머신은 켜두기만 하고, 호스트에서 SSH 접속하여 프로젝트를 진행한다.

 

 

깃허브 링크 : https://github.com/DevelopIsHobby/CCCR_TUX