<aside> <img src="/icons/checkmark_gray.svg" alt="/icons/checkmark_gray.svg" width="40px" /> EFK(ElasticSearch+ Fluentd + Kibana) Stack을 통해 컨테이너 환경에서의 로그 수집을 위한 환경을 구축한다. • ElasticSearch : 로그 저장소 • Fluentd : 로그 수집기 • Kibana : 로그 시각화 툴
</aside>
<aside> 🚀 참고 사항 2주차 과제와 동일하게 EKS 구축하고 nginx 실행한 상태에서 실습 진행 ⇒ 로드밸런서 나오니 여기다가 자원들을 붙일것.
</aside>
ElasticSearch + Fluentd + Kibana
쿠버네티스는 파드가 정상상태가 아니면 새로 생성 → 죽은 파드 컨테이너에 담긴 로그는 어디로…?
컨테이너의 로그를 로그 저장소에 수집
⇒ 죽은 컨테이너의 로그도 남는다.
Fluentd– 컨테이너의 스트림 로그를 수집하는 로그 수집기. 모든 노드마다 동일하게 배포 되어야함 , 다양한 데이터소스(HTTP,TCP 등)로부터 원하는 형태로 가공되어 여러 목적이(ElasticSearch, s3)등으로 전달 가능.
→ DaemonsetElasticSearch – 로그를 저장하기 위한 대용량 저장소Kibana - ElasticSearch와 연동하여 로그 시각화
→ 로그 시각화를 통한 문제 해결 및 예방 가능
ElasticSearch란?
ElasticSearch도 쿠버네티스 파드로 띄울 것 !
텍스트, 숫자, 위치 기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를 위한 분산형 오픈 소스 검색 및 분석 엔진이다. 엔진 = 많은 양의 데이터를 보관하고 실시간으로 분석하는 엔진
ElasticSearch를 설치하려면..? ( ElasticSearch도 쿠버네티스 Pod로 띄울 것 ) java 8 설치(ElasticSearch는 jvm 위에서 돌기 때문) > ElasticSearch install > service 재시작 …… But Kubernetes로 시작하면? ElasticSearch yaml파일 작성 > kubectl apply로 배포! 끝!
ElasticSearch를 NodePort type의 서비스로 배포하여 2주차 때 생성한 Nginx의 LoadBalancer에 연결하여 통신 확인 ( 원래는 Node로 바로 접속이 되지만 , 보안적인 이유로 LoadBalacer로 연결. 보안적으로는 들어가는 통로가 여러 개이면 좋지 않기 때문에 들어오는 일련의 요청들을 모아서 LoadBalancer가 분배해줌 )
<aside> 🚀 Service의 3가지 타입
</aside>