인프런 복습 - 쿠버네티스 어나더 클래스

[Sprint2] 손쉽게 데브옵스 환경 구축하기(2121)

closun 2025. 5. 19. 16:35

 

 

 

설치 과정은 강사님의 블로그와 강의를 참고했다.

https://cafe.naver.com/f-e/cafes/30725715/articles/84?boardtype=L&menuid=13&referrerAllArticles=false&page=2

 

손쉽게 데브옵스 환경을 구축하는 방법

[지상편] 실습환경 (Sprint2 범위) - windows 버전 -Mac (m 시리즈) : https://cafe.naver.com/kubeops/111 전체 설치 순서 V...

cafe.naver.com

 


 

순서

1. vagrant 설치

2. 원격 접속

3. Jenkins 초기세팅

4. 전역 설정(Gradle, JDK 설정)

5. Docker hub 가입

6. Docker 사용 설정

7. Master Node 에서 인증서 복사

8. Github 가입

9. 빌드/배포 파이프라인을 위한 스크립트 작성

 


 

 

1. vagrant 설치

만약 [Rocky Linux Repo 세팅]과 [Vagrant Vbguest 및 Disk Plugin 설치]를 했었다면, 안 해도 됨!

해당 함수에서 인증서에 대한 파기 여부를 검사하지 못했습니다. => 뒤에 --ssl-no-revoke를 추가하면 된다.

 

vagrant plugin 설치 후 시간이 조금 걸리므로 기다린 후에

vagrant up 명령어로 실행시켜준다. 

 

실행이 완료되면 virtualBox에 새로운 VM이 생긴다. 

 

 

 

 

 

2. 원격 접속

초기 id: root / password: vagrant

 

 

 

3. Jenkins 초기 세팅

비밀번호 확인(VM에서)

cat /var/lib/jenkins/secrets/initialAdminPassword

0823f68f17274e7fa2261395b4026bff

 

 

 

대시보드 접속

http://192.168.56.20:8080/login

▲ Plugin들 설치 

 

 

계정명: admin

비밀번회 admin

 

 

 

4. 전역 설정(JDK, Gradle 설치)

 

5. Docker hub 가입

https://hub.docker.com/signup

▲ 여기서 Docker 계정에 가입한다. 

 

 

6. Docker 사용 설정

▲ 로그인 정보가 저장되므로 VM을 껐다 켜도 다시 로그인 하지 않아도 괜찮음 

그런데 이건 중요한 정보이기 때문에, 급하게 CI/CD환경을 구축할 때 사용한다. 나중에 Jenkins 파이프라인을 구성하면 해결될 것!

 

 

 

7. Master Node 에서 인증서 복사 

 

 

 

 

오류1) 

 

▲ master node가 중단되어 있는 것을 확인 > NAT에서 포트포워딩 오류가 난 것을 확인함 

 

 

 

 

 

 

8. Github 가입

▲ deployment.yaml 파일 수정

 

 

 

 

 

 

 

 

 

9. 빌드/배포 파이프 라인을 위한 스크립트 작성 및 실행

9-1) 소스 코드 빌드

▲ clean build: 빌드 하기 전 디렉토리를 비움 

 

 

 

 

오류2) 빌드 오류 - java 환경 변수 설정 

▲ JAVA_HOME이 유효하지 않은 디렉토리를 참조하고 있다. 

▲ JAVA_HOME에 아무 값도 설정되어 있지 않음 

# 시스템에서 java 명령어 살행 위치를 알려준다. 
which java

# java 명령어의 진짜 실행 위치를 알아냄 
readlink -f $(which java)

▲ 현재 java-17-openjdk-17.0.15.0.6-2.el8.x86_64/bin/java가 java 명령어가 실행되는 위치임

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.15.0.6-2.el8.x86_64
export PATH=$JAVA_HOME/bin:$PATH

▲ Jenkins 에서 값 수정

▲ 성공적으로 빌드 완료!

 

 

# 생성된 jar 파일 확인
ll /var/lib/jenkins/workspace/2121-source-build/build/libs

 

 

9-2) 컨테이너 빌드

 

# jar 파일 복사
cp /var/lib/jenkins/workspace/2121-source-build/build/libs/app-0.0.1-SNAPSHOT.jar ./2121/build/docker/app-0.0.1-SNAPSHOT.jar

# 도커 빌드
docker build -t <DockerHub_Username>/api-tester:v1.0.0 ./2121/build/docker
docker push <DockerHub_Username>/api-tester:v1.0.0

 

cat /var/lib/jenkins/workspace/2121-container-build/2121/build/docker/Dockerfile

 

 

 

 

9-3) 배포 프로젝트 생성