[워밍업 클럽: 쿠버네티스] #2. 쿠버네티스 무게감 있게 설치하기 (1주차)

[워밍업 클럽: 쿠버네티스] #2. 쿠버네티스 무게감 있게 설치하기 (1주차)

강의 수강 일자 : 25.05.28 (수)
블로그 복습 일자 : 25.05.30 (금), 25.05.31(토)

 

이번 내용에선 쿠버네티스를 내 PC상에 설치를 하는 과정을 복습하면서, 당시에 썻던 스크립트 내용을 하나하나 뜯어보고,

왜 이런 스크립트 코드를 썼는지, 실제로 강의의 흐름 없이 쿠버네티스를 내가 직접 설치한다는 가정 하에 복습을 해보겠다.

 

쿠버네티스를 사용하는 전체 환경 그려보기

image.png

1) 개발 환경

스프링부트와 인텔리제이로 자바 어플리케이션 개발을 하게 되면,

Gradle 빌드 툴은 Maven에서 라이브러리를 다운 받아 자바 소스코드를 컴파일해 JAR 파일을 빌드해 JVM 환경에서 실행한다.

개발을 완료한 소스코드는 GitHub 저장소에 올리고, 저장소에 올린 소스코드는 CI/CD 환경에서 자동으로 통합과 배포를 진행할 수 있다.

 

2) CI/CD 환경

Jenkins는 내 컴퓨터 환경이 아닌 가상 서버(VM)에서 동작한다.

GitHub 소스코드를 다운받고, 해당 환경에 있는 Gradle에 관련 라이브러리를 Maven에서 받는다.

Gradle을 통해 소스코드를 빌드해 JAR파일을 만든다.

이제 컨테이너 빌드를 하게 될 텐데,

먼저 JAR 파일을 실행시킬 OpenJDK 이미지를 도커 허브에서 다운로드 받습니다(도커 허브는 컨테이너 이미지 저장소).

이 이미지는 내 JAR 파일을 띄우기 위한 기반이 될 건데, 이를 베이스 이미지라 합니다.

베이스 이미지에 JAR 파일을 올리는 걸 완료하면 컨테이너 빌드가 끝납니다.

컨테이너 빌드로 생성된 이미지를 다시 도커허브에 올리는 과정까지가 젠킨스에서 빌드를 했을 때 일어나는 과정입니다.

이제 배포과정만 남았는데, 배포는 쿠버네티스 측에 Pod 생성 명령을 보내주는 것이 끝입니다.

이후에는 인프라 환경 측에서 동작을 합니다.

 

3) 인프라 환경

Pod 생성 명령에는 컨테이너 이미지 주소가 들어있습니다. 쿠버네티스는 주소를 보고 해당 이미지를 다운로드 받게 되고,

해당 이미지로 컨테이너를 생성하는 요청을 컨테이너 런타임에 보내줍니다.

 

개발 환경에는 여러 사람들이 모여 개발한 소스를 GitHub 저장소에 올리고, CI/CD 환경에서 해당 소스코드를 컨테이너 이미지로 인프라 환경에 보내줍니다. 인프라 환경에는 개발, 검증, 운영 환경으로 나눠져 있습니다.

 

실습에서 진행할 환경 흐름

IMG.jpeg.webp 실습에서는 인프라 환경만 구축을 한다.

인프라 구축을 완료하면 브라우저에서 대시보드로 접속을 해 쿠버네티스 오브젝트를 생성할 수 있고,

원격 접속 툴로 쿠버네티스가 설치된 OS에 접근을 하면, kubectl을 통해 CLI 통신으로 쿠버네티스에 명령을 보낼 수 있다.

 

쿠버네티스 설치 및 스크립트 해석하기

쿠버네티스 설치

image개인 PC에 가상환경 VMBox와 Vagrant를 설치하고, 스크립트로 쿠버네티스까지 설치해볼 수 있다.

진행한 PC의 OS는 Window10 을 기준으로 진행했습니다. 설치하는 과정은 뇌를 빼고 따라오고, 나중에 미션에서

우리가 설치한 것들을 하나하나 살펴볼 예정이니 잘 따라오면 됩니다 ㅎㅎ.. 그럼 시작하겠습니다.

 

  1. Virtual Box 설치 (설치 당시 v7.1.6)

https://www.virtualbox.org/wiki/Downloads

VirtualBox 공식 사이트에서 제공하는 다운로드 링크입니다. 들어가면

image

이렇게 PC의 OS 환경에 맞게 VirtualBox를 설치하라고 친절하게 설명 되어있습니다.

윈도우 OS에서 설치할 거니 Windows hosts를 눌러 설치해줍니다.

 

  1. Vagrant 설치 (v2.4.3)

https://developer.hashicorp.com/vagrant/install?product_intent=vagrant

Vagrant도 마찬가지로 각 PC의 OS 환경에 맞는 소프트웨어를 제공해주기 때문에,

마찬가지로 윈도우 버전를 선택해 다운 받으면 됩니다.

 

  1. Vagrant 관련 스크립트 다운로드 및 실행

image윈도우 검색창에 명령 프롬프트를 선택해 아래 스크립트를 그대로 따라 치면 됩니다.

# Vagrant 폴더 생성 
C:\Users\사용자> mkdir k8s && cd k8s

cmd에서 현재 위치는 C:\Users\사용자> 이고, 해당 위치에 k8s 폴더를 생성한 후 해당 폴더로 이동하는 명령입니다.

 

# Vagrant 스크립트 다운로드 
curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.4.3/Vagrantfile

curl는 url을 통해 데이터를 다운받을 수 있게 하는 명령이다. 위 명령어를 따라 치면

imagek8s 폴더에 Vagrantfile이 다운받아져 있다.

실제로 안에 있는 스크립트 내용이 궁금하다면 들어가서 보고오자.

https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.4.3/Vagrantfile

 

# Rocky Linux Repo 세팅 
curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.4.3/rockylinux-repo.json vagrant box add rockylinux-repo.json 

윗 부분과 마찬가지로 이번에는 json 파일을 다운로드 받았다.

image

# Vagrant Disk 설정 Plugin 설치 
vagrant plugin install vagrant-vbguest vagrant-disksize 

# Vagrant 실행 (VM생성) 
vagrant up

위 명령어들을 다 따라하고 나면, k8s에

image아래와 같이 파일들이 있으면 정상적으로 실행된거다.

 

vagrant up을 했을 때 뭔가 프롬프트 환경에서 잘 설치가 안된거 같다고 생각이 든다면

https://cafe.naver.com/kubeops/26 이 링크에 가서 오류를 해결할 방법을 찾아보자 😂

 

  1. MobaXterm 설치

https://mobaxterm.mobatek.net/download-home-edition.html

3단계까지 무사히 잘 마치고, MobaXterm 설치까지 완료 된다면, 우리는 쿠버네티스 환경을 설치한 가상OS에 접속하거나, 할당된 IP로 접근해 쿠버네티스 대시보드까지 확인 가능하다.

 

MobaXterm으로 원격 접속하기

- Sessions>New session을 선택해서 접속 세션 생성

- 최초 idroot,passwordvagrant 입니다.

image세션을 새로 만든 뒤 실행을 하면 프롬프트처럼 검은 화면이 보일 거다.

MobaXterm은 쿠버네티스가 설치된 가상 OS에 접근해 쿠버네티스 관련 Pod를 볼 수 있다.

혹시라도 Vagrant Up 이후 PC를 종료하면 가상OS가 꺼지니 이후에 가상OS를 키려면

다시 cmd 창에 vagrant up을 키면 가상OS를 재기동할 수 있습니다 :D

 

쿠버네티스 DashBoard 확인하기

https://192.168.56.30:30000/#/login

링크에 들어가면 쿠버네티스 DashBoard를 확인할 수 있고, 클러스터 노드들을 보게 됩니다.

 

쿠버네티스를 설치하는 부분까지 잘 따라왔으면, 이제 미션을 따라해볼 수 있습니다!

아래 링크에 들어가 미션을 따라하면 쿠버네티스를 설치하는 흐름이 보이고, 강의에서 제공하는 스크립트 코드가 쿠버네티스 공식 문서의 흐름대로 따라가고 있음을 알 수 있습니다!
https://inf.run/svj7j

댓글을 작성해보세요.

채널톡 아이콘