서론
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
- Docker 볼룸 관리
- Postman 데이터 생성
- Elasticsearch 쿼리로 데이터 확인
- Kibana 인덱스 패턴 등록, 시각화
- Prometheus 설정, Graph로 메트릭 조회
- 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 자격증 시험