DevOps
MSA 환경에서 분산 추적시스템 적용하기
MSA 환경에서 분산 추적시스템 적용하기
2022.03.13서론 마이크로 서비스 환경에서는 사용자가 보낸 하나의 HTTP 요청이 내부적으로 여러 서비스를 거쳐서 응답을 제공하는 경우가 많다. 이런 이유에서 마이크로 서비스 환경에서는 요청을 추적하거나, 병목 구간을 파악하기가 힘들다. 마이크로 서비스에서 요청을 추적하는 건 매우 중요하고 필수적입니다. 이번 글에서는 zipkin & spring cloud sleuth를 활용해서 이를 관리하는 방법을 소개하겠습니다. Zipkin zipkin은 대표적은 분산 추적 시스템 오픈소스다. 흐름 구성도는 다음과 같이 구성되어있다. 리포터는 추적 데이터를 전송하고 데이터베이스에 저장하게된다. 이 데이터는 나중에 API를 통해서 스토리지에 쿼리하여 UI로 제공하게된다. 트레이서 라이브러리는 홈페이지에서 확인 가능하다. 다양한 언..
다양한 도커 이미지 생성 방법 및 최적화 방법. (Spring boot)
다양한 도커 이미지 생성 방법 및 최적화 방법. (Spring boot)
2021.10.01사전 준비 스프링 부트로 프로젝트 생성한 뒤 깃헙 퍼블릭 저장소로 업로드합니다. 1. 호스트의 jar파일을 이미지에 추가하기 가장 간단한 방법입니다. 호스트 OS에서 빌드된 jar파일을 이미지에 추가합니다. Dockerfile FROM openjdk:11 LABEL topic="docker-test" ARG JAR_FILE=./build/libs/*.jar ## jar파일 변수 설정 ADD ${JAR_FILE} app.jar ## 해당 파일을 이미지에 추가한다 ENTRYPOINT ["java", "-jar", "/app.jar"] ## jar 실행 이미지 만들기 docker build -t {이미지명} {도커파일디렉터리) 저는 이미지 이름을 host-jar로 만들었습니다. 이미지가 정상적으로 생성됐는지 ..
Ec2 Jenkins에 Github private repository SSH로 연동하기
Ec2 Jenkins에 Github private repository SSH로 연동하기
2021.05.10사전 필수 준비 EC2 생성 및 EC2서버에 jenkins, git 설치 EC2에서 SSH Key 생성 SSH KEY를 관리하는 방법은 다양한데요. (SSH란?) jenkins, home 혹은 github 디렉토리를 따로 만들어서 관리할 수 있습니다. 팀내, 개인이 편하신대로 진행해주시면 되겠습니다. 저는 jekins디렉토리에서 관리하겠습니다. SSH 폴더 생성 sudo -u jenkins mkdir /var/lib/jenkins/.ssh # sudo -u user command: user의 권한을 빌려서 실행합니다. jenkins 유저의 권한을 빌리는 이유는 ec2-user는 권한이 없기 때문입니다. 저는 편의상 권한을 빌려서 실행했는데, 그냥 jenkins 계정으로 변경 후 실행하셔도 됩니다. SSH..