MSA

k8s 환경을 처음 접하고 공부하면서 구축했던 경험으로 작성했으며,잘못된 정보를 포함하고 있을 수 있습니다.피드백 감사히 수용하겠습니다. 쿠버네티스 클러스터 아키텍처"2개의 EC2 인스턴스를 각각 마스터, 워커노드로 분산해서 사용" "비교적 많은 리소스가 남는 마스터 노드에 데이터베이스를 도커로 배포" "워커노드에는 Spring Cloud Gateway와 마이크로서비스들, 그리고 EFK 스택을 파드로 배포" "마이크로서비스들과 게이트웨이는 파드의 개수를 항상 2개로 유지(replicas = 2)" "비정상 종료 또는 변경 감지 시 쿠버네티스가 롤링업데이트를 수행하도록 설정" *롤링 업데이트 : 파드 인스턴스를 점진적으로 새로운 것으로 업데이트하여 디플로이먼트 업데이트가 서비스 중단 없이 이루어질 수 있도..
EFK Stack EFK stack이란 Elasticsearch, Fluentd, Kibana를 얹은 스택이다. 기존의 ELK stack과의 차이는 로그 파이프라인 역할을 하던 Logstash를 Fluentd로 대체 Fluentd Fluentd는 CNCF의 graduated project 중 하나다. - 규모가 크고 레퍼런스가 많다. Fluentd는 다양한 소스에서 로그를 수집해 중앙화할 수 있는 오픈소스 데이터 콜렉터다. - 다양한 시스템에서 들어오는 여러 로그들을 fluentd 하나로 수집하고 파싱하고 포워딩한다. 기존의 시스템마다 제각각의 로깅 툴을 사용하고 각기 다른 저장 장소에 로그가 흩어져 있던 로깅 아키텍처들을 통합할 수 있다는 장점이 있다. 점점 복잡해지고 있는 MSA 환경에서 이러한 장점..
· Infra
프로젝트에서 MSA 아키텍처를 직접 구성했지만, 쿠버네티스를 사용하지 않아 무중단 배포를 시도하며 어려움을 겪었습니다. 이에 쿠버네티스를 학습할 필요를 느꼈으며, 진행 중인 프로젝트에 쿠버네티스를 적용해보고 싶었습니다. 이 게시글은 쿠버네티스 처음 공부하며, 학습 내용들을 정리하기 위해 작성한 게시글입니다. 쿠버네티스 쿠버네티스는 컨테이너 오케스트레이션 툴로, 여러 대의 서버에 걸쳐 컨테이너화된 애플리케이션을 배포하고 관리할 수 있도록 도와주는 도구입니다. 따라서, 쿠버네티스는 도커를 사용한 컨테이너화된 애플리케이션을 배포하고 관리하는 데 사용됩니다. 클러스터 쿠버네티스 클러스터는 마스터 노드와 워커 노드로 구성됩니다. 마스터 노드는 쿠버네티스 클러스터의 제어센터로, 쿠버네티스의 모든 컴포넌트가 실행됩니..
· Infra
MSA 아키텍쳐를 적용한 Spring Boot 프로젝트를 진행하던 중, SpringCloud를 활용한 API Gateway를 구현 했는데 이때, 라우팅 할 마이크로 서비스들을 직접 지정했습니다. 많은 수의 마이크로 서비스를 직접 지정하다가 이게 맞나.. 싶어 동적으로 라우팅을 하는 방법을 찾아보았습니다. 그렇게 서비스 디스커버리에 대해 조사하게 되었습니다. 1. 동적 서비스 위치 서비스 인스턴스의 위치가 변경되거나 새 인스턴스가 추가되어도 서비스 디스커버리를 통해 실시간으로 찾을 수 있습니다. 이를 통해 서비스 간의 결합도를 낮추고, 확장성을 높이는데 도움이 됩니다. 2. 로드 밸런싱 서비스 디스커버리를 사용하면, 여러 인스턴스 중에서 하나를 선택하는데 사용할 수 있는 로드 밸런싱 기능을 제공합니다. 이..
Sungwoo Koo
'MSA' 태그의 글 목록