VMWare에 바닐라 쿠버네티스 실습 환경 구축하기 #1

ssongkim·2022년 6월 22일
1

쿠버네티스

목록 보기
1/3
post-thumbnail

Overview

쿠버네티스,, 값비싼 녀석입니다. 공부하고 싶은데 실습하기도 힘들어요. 제대로 가지고 놀려면 가상머신 여러개 띄워 마스터노드, 워커노드 여러개로 구성된 클러스터를 구축해주어야 하는데 머신 하나하나에 요구되는 최소사양이 존재합니다. 프리티어로 절대불가,,

이번시간에는 쿠버네티스를 공부하기위해 실습하기 위한 환경을 VMWare을 이용해 구축해보려고 합니다.
우리는 가난한 학생이기에 돈을 쓸 수 없습니다. aws나 gcp를 활용하면 좀 더 쉽겠지만 저희는 실습하며 돈을 1원도 들이지 않도록 하는 것이 목표입니다.

이 게시글은 22-06-23 기준으로 게시글이 오래되면 참고로만 해주시는게 좋습니다.

사용환경

  • windows 10
  • VMWare workstation 16 Player(무료 버전)
  • Ubuntu 20.04(가상머신 환경)
  • kubernetes 1.24

1. VMWare 설치

먼저 VMWare 공식 홈페이지에 들어가서 무료버전인 VMWare workstation 16 Player를 설치해줍니다. 또한 우분투 20.04 이미지도 준비해줍니다.

2. 마스터노드, 워커노드에 쓸 공통 템플릿 만들기

먼저 마스터노드, 워커노드 여러개로 하여 클러스터를 구축하려면 마스터노드, 워커노드 공통으로 swap을 끄고 kubectl, kubeadm, kubelet을 설치해주어야 합니다. 이러한 공통작업을 진행하여 템플릿을 만들고 마스터노드, 워커노드를 만들 때 복사해서 사용해보겠습니다.

먼저 우분투 이미지로 가상머신을 하나 부팅해줍니다. 이 가상머신에 기본적인 세팅을 한 후 모든 쿠버네티스 노드의 템플릿으로 사용할 예정입니다.

2-1 static ip 할당하기

일단 동적IP를 해제하고 고정IP를 할당받도록 해주어야 합니다.
저희는 netplan을 이용해 고정아이피 할당을 하겠습니다.

2-1-1 gateway 확인

ip route

ip route 명령어를 이용해 gateway를 확인한 후 메모합니다. 현재는 192.168.2.2이군요.

2-1-2 현재 할당된 ip 확인

ip addr

192.168.2.128/24 메모합니다.

2-1-3 netplan 설정

sudo vi /etc/netplan/00-installer-config.yaml


처음에 열어보면 이럴 것입니다.

이렇게 바꾸어 처음에 할당받은 동적ip를 그대로 정적ip로 할당하도록 변경합니다.

"ubuntu netplan static ip" 이런 꼴로 구글링하면 netplan으로 고정ip 할당법이 잘 나오니 위의 그림처럼 나오지 않으면 구글링을 통해 해결하도록 합니다.

2-1-4 apply

sudo netplan apply 

apply로 변경사항을 적용하도록 합니다.

2-2 Docker 설치하기

도커는 항상 공식 문서를 보고 설치해주어야 합니다.
도커 우분투 설치 공식 문서: https://docs.docker.com/engine/install/ubuntu/
공식 문서를 보고 가상머신에 도커를 설치하도록 합니다.

2-3 kubeadm 설치하기

쿠버네티스는 항상 공식 문서를 보고 설치를 진행하여야 합니다.
공식문서: https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

공식문서에 따라 설치해보겠습니다.

도커를 설치하며 컨테이너 런타임은 설치하였습니다.

그래서 전 바로 데비안 기반 배포판 안내에 따라

설치를 진행했습니다.

2-4 docker cgroup driver 확인하기

sudo docker info | grep -i group

위의 명령어를 통해 현재 도커가 사용 중인 드라이버를 확인해보면 cgroupfs인 것을 확인해볼 수 있습니다. 쿠버네티스는 systemd 드라이버를 사용하며 systemd 사용을 권장하므로 드라이버를 변경해줄 필요가 있습니다. 구글링을 통해 cgroup driver를 systemd로 변경해주세요.

이와같이 cgroup driver로 systemd를 사용한다고 뜨면 성공입니다.

2-5 swapoff하기

쿠버네티스는 현재 swap 사용을 금지하고 있습니다. 구글링을 통해 우분투 머신이 재부팅되어도 swapoff가 되게끔 스왑설정을 해줍니다.
제가 참고한 것: https://graspingtech.com/disable-swap-ubuntu/

3. 템플릿 완성

이제 마스터노드, 워커노드에서 공통으로 사용할 머신에서의 설치작업을 완료하였습니다.

해당하는 머신의 폴더 자체의 이름을 kube-template으로 변경합니다.

4. 노드 개수만큼 복붙하기

그다음 원하는 노드 개수만큼 해당 폴더를 복붙을 반복하며 폴더 이름을 변경해줍니다.

저는 마스터노드1 워커노드2로 구성하겠습니다. 이와같이 노드를 3개 복붙 후 이름을 변경해주었습니다.

그다음 VMWare workstation을 킨 후 라이브러리에서 목록을 모두 지운 후 각각의 모든 노드 폴더에 직접 들어가서

이걸 하나하나 실행시켜 줍니다.

다음 게시글에서는 각각의 마스터노드, 워커노드에서의 개별 설정을 통해 클러스터를 구성하도록 하겠습니다.

참고자료

인프런 - 데브옵스를 위한 쿠버네티스 마스터

profile
鈍筆勝聰✍️

0개의 댓글