[플레이데이터 풀스택 백엔드 9기] 6월 4주차 회고 (15주차)

FerryLa·2025년 7월 1일

서론

6월 4주차 회고 (15주차) - (6/23 - 6/29)

06/23 : Logging and Monitoring
06/24 : Message Broker, Kubenetes
06/25 : Kubenetes
06/26 : Kubenetes
06/27 : Terraform

저번 주 Docker와 CircleCI에 이어 CI/CD에 핵심적인 쿠버네티스를 배우는 한 주였습니다.

1. 내용정리

[DevOps]

Logging and Monitoring

개념과 특징

  • ELK란 로그 수집 및 분석 스택, 애플리케이션 로그를 수집하고 저장한 뒤, 실시간으로 검색하고 시각화하는 데 사용 (실시간 로그 분석, 성능 추적, 장애 원인 파악 등에 활용)
    - Elasticsearch: JSON 기반 로그 저장 및 검색
    - Logstash: 다양한 소스의 로그 수집 및 구조화
    - Kibana: 시각화 도구로 대시보드 생성
  • Monitoring이란 실제 서비스를 운영하다 보면 장애가 발생 했을 떄 알림서비스를 받아야 되거나 신속하게 성능을 분석하거나 하는 등 복잡한 네트워크를 추적하고 관리하는 기능(Prometheus은 '메트릭'형태로 수집 / Grafana는 오픈 소스 분석 및 시각화 플랫폼)

로그 분석 + 메트릭 모니터링 흐름
흐름 : Spring Boot → Logstash → Elasticsearch → Kibana

  1. Docker 볼룸 관리
  2. Postman 데이터 생성
  3. Elasticsearch 쿼리로 데이터 확인
  4. Kibana 인덱스 패턴 등록, 시각화
  5. Prometheus 설정, Graph로 메트릭 조회
  6. Grafana -> Prometheus 연결, 대시보드 구성

Message broker

개념과 특징

  • 메시지 수신, 저장, 전달메시지 브로커는 서비스 간 비동기 통신을 중개하는 핵심 시스템 (비동기 통신으로 서비스 간 결합도 낮춤)
  • 대표적인 메시지 브로커는 RabbitMQ와 Kafak가 가장 널리 사용되는 대표적인 브로커
  • 큐(queue) 또는 토픽(topic) 방식의 메시지 전송
  • 신뢰성 보장 : 메시지 유실 방지, 중복 방지

*메시지 브로커 활용 사례

  • MSA 간 직접 호출 대신 메시지 브로커를 통해 통신
  • 트래픽 폭주 대응
  • 메일 발송을 큐에 위임
  • 실시간 기능
  • 로그 수집 / 분석
  • 비동기 알림 (푸시, SMS)

[Kubernetes]

쿠버네티스(Kubernetes, K8s)

개념 및 특징

  • 컨테이너 오케스트레이션 도구의 표준 역할: 컨테이너를 자동으로 배포, 스케이링, 복구, 관리
  • Pod: 쿠버네티스에서 배포 가능한 가장 작은 단위로 하나 이상의 작은 단위
  • Ingress: 쿠버네티스에 들어오는 것을 하나로 보내준 다음 효율적으로 진입점을 하나로 만든 것 / 클러스터 외부에서 내부 서비스로의 HTTP 및 HTTPS 트래픽을 제어하는 API 객체
  • 무중단 배포: 롤링 업데이트, 카나리 배포, 블루-그린 배포
  • Volume: 컨테이너의 종속개념 -> 컨테이너가 삭제되면 볼룸(Volume)도 삭제됨
[매니페스트 조작] 

<Deployment 적용>
kubectl apply -f 파일명.yml
kubectl get deployments
kubectl get pods

<Service 적용>
kubectl apply -f 파일명.ser
kubectl get services

<지우려면>
kubectl get pods
kubectl delete pods pot명
kubectl delete deplyments deplyment명
kubectl delete services service명

<로그확인>
kubectl logs pod명

<이미지 변경  새로운 이미지 가져오기>
kubectl logs pod명
kubectl rollout restart deployments deployment명

2. 프로젝트(진행중)

팀원과 프로젝트 기간 3주를 주 단위로 프런트엔드 개발, 백엔드 개발, 배포 및 문서 작성으로 나누어 작성하기로 하여 현재는 프런트엔드 개발 과정에 있습니다.

리액트 공부도 하면서 프로젝트를 하다보니 프런트엔드에 대한 지식이 좀 더 깊어졌습니다.

3. 마무리

> 좋았던 점과 아쉬웠던 점

이번 회고를 작성하면서 복습 내용에 대한 이해력이 많이 낮은걸 느꼈습니다.

> 개선할 점

강의와 관련된 실습 내용을 자세히 복습할 필요성이 보입니다.

> 다음주 계획

쿠버네티스에 관한 내용을 주말 간 실습자료를 활용하여 재복습할 예정입니다.
시간을 적절하게 활용하여 파이널 프로젝트 기획안 작성과 현 프로젝트에 집중할 예정입니다.

(커리큘럼) 06/17 ~ 07/17 : 데브옵스 - 프로젝트와 함께 진행(3주)

07/18 ~ 09/10 : 기업 참여 프로젝트
08/09 : ADsP 자격증 시험
08/23 : SQLD 자격증 시험

profile
김지환

0개의 댓글