갬미의 성장일기
Day 58 - JAVA, Gradle 설치, CICD 준비 본문
오늘 배운 내용
- JAVA, Gradle 설치, 환경변수 설정
- nginx-tomcat-mysql 을 이요한 3tier 구성 ( redis 사용 )
code - 사람이 이해하는 언어 --> 컴파일 하여 실행파일로 만든다면 - 컴퓨터가 이해할 수 있는 언어
코드를 빌드하는 툴로 gradle을 사용한다
오늘은 nginx-tomcat 을 사용할 예정인데 tomcat이 java기반이기 때문에 java를 설치해야한다
JAVA 설치
https://www.oracle.com/java/technologies/downloads/#jdk18-windows
installer 버전으로 다운받는다
exe 실행(기본 그대로 next, 마침 클릭) 및 설치 확인
설치 확인
시스템 환경변수 편집
- 환경 변수 추가
path 편집
gradle 설치
소스코드 생성, 수정 후 배포할 수 있도록 하는 tool인 Gradle을 설치한다 (CICD 할것이라서)
installing manually 부터 따라하며 된다
다운로드 후 C:\Gradle 생성 후 다운받은 gradle-7.4.1 bin의 gradle-7.4.1을 C:\gradle 아래에 위치시킨다
환경변수 편집
새 터미널 열고 설치 되었나 확인하기
Redis
오늘은 매번 쓰던 image가 아닌 다른 image로 was server를 구성하고 이미지를 빌드하여 사용했다
이때 404 에러가 나면 원인은 세션처리를 못했거나, DB와 연결을 못했거나 둘 중 하나이다
세션처리를 redis에서 따로 처리하면 된다
redis = in memory database
memory database -> data를 받아 memory에서 처리한다 (빠르다)
서버가 내려가더라도 DISK에 저장된 데이터를 읽어서 메모리에 로딩 하기때문에 세션이 사라지지 않는다
단점은 휘발성을 가진다는것 (전원을 끄면 사라짐)
사용자가 tomcat에 접속하면 세션처리를 pod가 아닌 별도로 처리하는 db를 둘것이며 이를 memory db (redis)로 사용하도록한다
pod는 세션정보를 가지고 있지 않아서 session affinity rule로 인한 오류가 사라진다
( = DB만 잘 잡아주면 404가 안뜬다)
미니과제
nginx-tomcat 3tier 만들기
DB tier image: hifrodo/msa-devops:mysql_1 DB name: boot_board WAS tier image: gymin97/msa-dev:redis-tomcat_v2 WEB tier image: gymin97/msa-dev:nginx_v1 |
관련 yml은 git에 업로드 했다
오늘의 회고
- 하아 redis 이미지를 만드는데 캐시가 남아있어서 소스코드 수정하고 다시 빌드해도 전에 남겼던 흔적이 사라지지를 않았다 .. 그래서 캐시를 날리고 다시 빌드했는데 되었다 .. 근데 수정하면 수정한만큼 layer가 새로 올라가야 정상 아닌가,,,?! !! 뭘까? ,, 자꾸 도커가 image를 싹 날리고 새로 만들어도 ,, 레포지토리를 다시 만들어도 .. build만 하면 같은 id로 생성되어서 혼자 오싹했다 결국은 캐시 날리고 새로 만든 이미지 + 새로운 클러스터 조합으로 하니까 되었는데 ,,,, 뭐지? ㅜ
- 오늘은 이미지 빌드가 안돼서 혼자 4~5시간 삽질한 것 같다 .. 지금 지쳤나요? 네...
'Cloud > Cloud 공부일기' 카테고리의 다른 글
Day 60 - 부하 분산 테스트 (nGrainder) (0) | 2022.04.05 |
---|---|
Day 59 - HPA, DB dump ,init container (0) | 2022.04.04 |
Day 57 - full container 3tier 구성하기 (2) | 2022.03.31 |
Day 56 - 3tier 구성하기, StatefulSet (2) | 2022.03.30 |
Day 55 - 3tier 구성하기, VPC Peering, CronTab (0) | 2022.03.29 |