작업공간

SIA - 하계 중간 회고 본문

2022 하계 인턴

SIA - 하계 중간 회고

씨코더 2022. 11. 18. 20:58

 

 

SIA-하계 인턴 중간 회고

인턴 지원 동기

poised-spark-6ae.notion.site

 

인턴 지원 동기

✔️ 가용성 & 모니터링

맡은 업무는 컨테이너 환경에서의 웹 개발이었다. 주어진 요구사항을 2주 쯤 남기고 완료했다.

남은 기간동안 HSM - Nginx - API WAS 의 상태를 관측하는 APM 페이지에 관심이 생겼다.

TSDB로 InfluxDB를 사용해 HSM의 상태를 측정했고, Nginx와 Server는 주기적인 liveness probe test를 통해 측정했다.

짧게나마 시계열 관측에 대해 배웠고 추후에 진행할 프로젝트에 적용하고자 마음먹었다.

하지만 개인 로컬 환경의 리소스는 너무 한정적이라 까다로운 설정을 하지 않으면 툭하면 메트릭 수집이 중단됐다.

Prometheus-Grafana container를 limit없이 0.5s 간격으로 측정했다가 맥북이 화를 냈다.

✔️ K8S

모든 프로젝트에 docker를 적용해보며 쿠버네티스는 뭘까하던 도중에 학교에서 개설된 Kakao-전수현님의 쿠버네티스 특강에 참여하게 되었다.

당시에 나는 온프렘으로 토이 프로젝트의 서버를 단순히 Shell+Docker로 모두 직접 활성화시켰었는데 무중단 배포라는 키워드가 관심을 사로잡았다.

쿠버네티스에 흥미를 느껴 서적을 구매해서 좀 더 찾아보았다.

언젠가 나의 모든 프로젝트와 관측 시스템을 K8S 위에 무중단으로 배포하는 것을 목표로

😮 New

💪 Deep

🗓 Plan

구분주요 실습 내용 및 계획

1주 기업 및 업무 소개, 보안 교육
2주 클라우드 네이티브 관측가능성 개념에 대한 이해 & 쿠버네티스에 대한 이해
3주 GLP 스택에 대한 이해 및 배포 실습
4주 실습 내용 중간 점검 및 보고
5주 Prometheus 개선 도구, “Thanos”에 대한 개념 이해
6주 Thanos 배포 실습
7주 Thanos 구성 최적화 실습
8주 실습 내용 최종 점검 및 보고
  • [x] Observability & K8S 개념 파악
  • [x] 싱글 클러스터 환경 Prometheus & Grafana 모니터링 시스템 구축
  • [ ] 멀티 클러스터 환경 Thanos & Prometheus & S3 & Grafana 모니터링 시스템 구축

+

  • [ ] Argo CD로 K8S 클러스터 Gitops 경험
  • [ ] Event에 따라 alertmanager 구축
  • [ ] 클러스터 구축

✅ Result

WAS monitoring

  • [x] 프로메테우스 Helm 차트로 구성
  • [x] Exporter & Stress API WAS 작성
  • [x] harbor 레지스트리 사용
  • [x] Deployment에 따른 pod 재생성 확인

Prometheus operator

  • [x] Operator 차트로 구성
  • [x] Label을 다르게 서비스를 띄우기
  • [x] Operator 동작 확인

👨‍💻 Doing

minIO 로컬 서버 구축해서 동작 과정 확인

  • [x] minIO Server 구축
  • [x] minIO User 생성
  • [x] mc를 통해 configuration, access 확인
  • [x] mc로 업로드, 다운로드 확인
  • [ ] policy 설정해보기

Thanos 환경 구성

why extend to thanos? 

  • [x] Query, Storegateway, Compactor yaml 작성
  • [x] Thanos ↔  minIO 연결 확인
  • [x] Prometheus, node exporter로 자체 메트릭 수집 확인
  • [ ] Thanos → Prometheus 메트릭 수집
  • [ ] hyunseok2-cluster에도 Prometheus, Thanos sidecar 설정
  • [ ] Grafana로 총 2개의 클러스터 메트릭 확인
  • [ ] sre-intern-observability github push

관측가능성을 높이기위해 어떠한 메트릭을 수집할 지 고민

  • [x] 단일 클러스터로 메트릭을 수집해보며 느낀 니즈 기록 중…
  • [ ] 멀티 클러스터 모니터링 환경이 구축되면 니즈에 맞춰 시각화

🔥 Accident

노드 무한 폭파 Replaying WAL ( 0 / n ) …

Replaying WAL ( 0 / n ) …

  • 해결
  • prometheus: . . prometheusSpec: . . retention: 10d # 로컬 디스크 최대 저장 주기 retentionSize: "1GiB" # 메트릭 메모리 최대 저장 사이즈

 

쿠버네티스 API 사용 불가 failed calling webhook

webhook이 바라보는 서비스가 존재하지 않는다..

  • 해결
  • helm으로 지워지지 않은 validating, mutating webhook configuration을 삭제

🥲 아쉬운 점

Computer Network remind 좀 하고 왔어야 했다…

https://coffeewhale.com/k8s/network/2019/05/30/k8s-network-03/

클러스터 구축 경험이 없어 클러스터에 대한 이해도가 부족한 상태에서 진행했다.

실습을 시작하기 전에 인프라 구성과 클러스터내에서 동작하는 시스템을 숙지했다면...?

🙋 QnA

K8S 와 Prometheus를 누구나 알기 쉽게 설명

실습 진행하면서 어려웠던 점

Thanos에서 Object Storage를 사용하는 이유

타 클러스터와 Node name, Namespace, Label 등 메타데이터가 같을 때 Thanos는 이것을 어떻게 처리하는가?

'2022 하계 인턴' 카테고리의 다른 글

SIA - 하계 최종 회고  (0) 2022.12.05
[SIA] Cloud native  (0) 2022.07.07
[SIA] Cloud Engineer 면접  (0) 2022.05.26