전체 글 (144) 썸네일형 리스트형 Kubernetes - LoadBalancing 사용하여 Spring Boot 서버 운영하기 개요 목적 이번 시간에는 Kubenetes를 사용하여, Spring boot container image를 쉽게 배포 관리하는 방법에 대해서 알아본다. 구체적인 동작으로는 api 서버를 Minikube에 3개의 복제본으로 배포하고 Service - Load Balancing 기능을 사용해 사용자 요청을 3개의 복제본으로 고르게 분산하는 배포 환경을 만든다. 결과를 먼저 보면, /status 요청마다 3개의 각 서버의 hostname을 응답 값을 전달하여, 로드 밸런싱 기능이 잘 작동하는 것을 확인할 수 있다. 로드 밸런싱 확인 용 spring boot application 생성 로드 밸런싱 확인 method 작성 org.springframework.core.env.Environment을 빈으로 등록하여 .. kubernetes 구성 요소에 대한 이해 kubernetes와 cluster란쿠버네티스는 컨테이너를 오케스트레이션 도구이다. 오케스트레이션은 여러 서버에 걸친 컨테이너를 생성 배포 관리 확장을 쉽게 도와주는 것이다.쿠버네티스는 클러스터를 구성하여 컨테이너 오케스트레이션을 수행한다.클러스터란, 컨테이너화된 node들의 모음이다. 클러스터 환경을 설정하여 포함되어 있는 컨테이너화된 어플리케이션을 쉽게 배포, 이동, 관리 등을 할 수 있다. 또한 클러스터를 사용하면 다양한 환경(virtual, physical, cloud-based, and on-premises)에서 어플리케이션을 실행 관리할 수 있다.클러스터는 크게 master node와 worker node로 이루어지는데, master node는 클러스터 전반적인 환경을 통제하고, worker .. Springboot(gradle) Jenkins 설정으로 Ubuntu 자동 배포하기 개요 목적Host인 Window 서버에서 Jenkins와 Docker를 사용하여 Springboot 프로젝트를 Virtualbox에서 실행되고 있는 Ubuntu서버에 자동 배포하는 방법에 대해서 알아본다해당 프로젝트 깃허브Jenkins에 설정할 전체 6가지 동작은 아래 그림과 같다.1. Git에서 최신 소스 다운로드https://www.jenkins.io/doc/pipeline/steps/git/해당 플러그인을 사용하여 git에서 최신 소스 코드를 다운 받는 declarative pipeline script를 작성C:\ProgramData\Jenkins\.jenkins\workspace에 디렉토리에 해당 프로젝트를 다운 받은 것을 확인할 수 있다.pipeline { agent any stage.. Spring boot(gradle) docker container 배포, docker-compose적용 개요 목적 리눅스 서버에 직접 라이브러리를 다운 받고, jar 파일을 실행하는 기존 배포 방법에서 벗어나, 라이브러리와 jar 파일이 포함된 docker image를 다운 받아 바로 실행하는 편리한 docker container 실행 방법에 대해서 알아본다. 그리고 여러 개의 컨테이너를 실행시킬 때 일일이 명령어를 치는 방식이 아닌, docker-compose 하나의 yml 파일 하나로 여러 개의 컨테이너를 실행하는 방법을 알아보자. 해당 프로젝트 깃허브 docker container 배포 docker desktop을 다운 받아, docker 엔진을 실행한다. 배포를 원하는 프로젝트 디렉토리에 dockerfile을 생성한다. docker file 구성하기 #base 이미지를 지정하기 FROM openjd.. docker, compose, swarm에 대한 이해 docker docker의 개념 도커란 리눅스의 컨테이너 기술에 여러가지 기능을 추가한 오픈 소스 프로젝트이다. 도커 말고도 존재하는 컨테이너 기술은 OpenVZ, Warden 등이 있다. 리눅스 컨테이너 기술이란 프로세스가 실행하기 위한 독립적 실행 공간을 제공하는 것이다. 독립적 공간에서 동작하기 때문에 다른 버전의 라이브러리를 사용하는 프로세스에 영향 없이 하나의 서버에서 같이 실행할 수 있다. 컨테이너 내부에 실행 파일과 라이브러리를 포함하고 있어, 버전 관리도 간편하다. 컨테이너 가상화 기술과 다르게 각 독립된 환경마다 게스트 운영체제까지 할당하는 서버 가상화기술이 있다. 대표적인 소프트웨어로는 VirtualBox가 있다. 프로세스를 실행시키기 위한 독립된 공간에 운영체제까지 포함되기 때문에 이.. AWS Solutions Architect Associate 자격증 취득을 위한 개념 정리 Solutions Architect Associate 자격증 취득 기출 문제 풀고 문제에서 나오는 개념들을 정리하여 aws 전체적인 흐름을 익혔다. 흐름을 익힌 채로 기출 문제를 반복해서 풀었더니 첫 번째 시험에서 운 좋게 합격할 수 있었다. AWS 개념 총 정리 AWS 글로벌 인프라의 이해 리전 가용 영역 리전은 서울 리전 홍콩 리전 같은 데이터 센터를 클러스팅 하는 물리적 위치를 의미한다. 가용 영역은 하나의 리전 안에 여러 개별 데이터 센터를 의미한다. 1개의 리전에 보통 3~4개의 가용 영역으로 구성된다. 가용 영역끼리는 고속 네트워크로 연결되어 있다. AWS Identity and Access Management(IAM) AWS 계정 및 권한 관리 서비스, (AWS의 서비스와 리소스에 대한 액세.. 테스트 결과를 ELK 사용하여 기록 남기기(Logstash Json parsing) 개요 목적 무식한 영어 프로젝트는 영어 식 통 문장 암기를 도와주는 서비스이다. 테스트 페이지를 통해서 번역본을 보고 영어식 표현을 만들 수 있는 지 확인 가능하다. 테스트 페이지 버튼(맞음 틀림 힘트 정답)을 누르면 해당 유저와 해당 문장의 테스트 결과를 ElasticSearch로 모아서 유의미한 데이터를 수집하려 한다. 각 버튼을 눌렀을 때 테스트 결과 데이터를 어떻게 ElasticSearch에 저장을 하고 Kibana 검색을 통해서 유의미한 정보를 화면에 출력할 수 있는 지 알아보자. ElasticSearch로 Json 직렬화 하여 보낼 데이터는 아래와 같다. public class TestResultDto { private Long userId; private Long sentenceId; pri.. 백엔드 서버 API doc 작성과 Springdoc 자동 구성하기 관련 내용 해당 프로젝트 깃 허브 개요 목적 API doc은 서비스 기능을 사용할 수 있게 도와주는 설명서 역할을 한다. 내가 만든 영어 통문장 암기 서비스의 관리자 문장 관리 테스트 처리 API doc을 직접 표를 통해 만들어보고, spring-doc 라이브러리의 도움을 받아 자동으로 API doc을 생성하는 방법을 알아보자. API doc 구성 양식은 https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide REST API 문서를 참고 했다. 관리자 문장 관리 & 테스트 처리 API doc 1. 관리자 문장을 추가 POST /api/admin/sentence/add MessageBody Name Type Description korean S.. 이전 1 2 3 4 5 6 7 ··· 18 다음