본문 바로가기
IT 기술/Infra

[k8s] 실무에서 느껴본 쿠버네티스가 정말 편한 이유

by Geunny 2023. 12. 15.
반응형

본 게시물은 인프런 쿠버네티스 어나더 클래스 강의 내용을 정리한 내용입니다.  링크(https://url.kr/vxsutp)
 

쿠버네티스 표준 생태계로 편해진 IT인프라 구축

  • 위 사진은 쿠버네티스에서 활용되는 Application 들이다.
  • 사실상 쿠버네티스생태계 라기 보단 현재 IT 사업으로 진행되는 대부분의 어플리케이션의 여러 응용프로그램들을 모아 놓았다고 해도 과언이 아니다.
  • CNCF 에 기여된 프로그램은 다음과 같이 4분류로 나눌수 있다.
  • Sandbox : 아직 실험 단계 프로젝트
  • Archived : 프로젝트가 비활성화 되어 더 이상 기술 지원이 없는 프로젝트
  • Incubating : Graduated 를 진행하기위해 진행되고 있는 프로젝트
  • Graduated : CNCF 에 인증된 프로젝트
  • 저 많은 프로젝트들 중 주로 사용되는 프로그램/프로젝트 기준으로 아래처럼 정리함.

 

  • 쿠버네티스에서 이중 가장 편한 부분은 모니터링이다.

쿠버네티스 기능으로 편해진 서비스 안정화

 

  • 기존 VM 환경과 쿠버네티스 환경을 운영하는 관점에서 비교해봄
  • 기존 VM 환경 예시
    • 신규 서비스를 오픈하기 위해 왼쪽과 같은 환경으로 구성하였고 오픈일이 다가옴.
    • 서비스 오픈시에 VM 할당이 더 필요하여 vm 담당자가 (1) 과 같이 여러 환경셋팅을 설정해 줌.
    • 이후 (2) 번 처럼 웹서버 관리자가 IP 셋팅을 진행하게 됨.
    • 기존 서비스에 영향을 주지 않게 하기 위해 보통 야간이나 주말에 작업을 진행.
    • 배포 완료후 모니터링 담당자는 App 이 모두 표시되도록 config 설정을 진행함 (4)
  • 쿠버네티스 환경 예시
    • 이 상황에서도 Pod 증설이 필요하다 느껴 쿠버네티스 담당자에게 파드 증설을 요청함.
    • 쿠버네티스 담당자는 Pod 증설 커맨드를 입력한후 금방 새로운 Pod가 올라감.
    • Pod 가 올라감과 동시에 IP 할당과 모니터링 설정이 자동으로 설정됨.

모니터링 설치

  • 카페 설치 링크 (link)
  • 참고 링크 : grafana docs (link) / dashboard (link), prometheus install (link) / docs (link), loki-stack install (link) / docs (link)

Grafana

  • Grafana란 Grafana Labs가 개발한 오픈소스 인터랙티브 데이터 시각화 플랫폼
  • 사용자가 하나의 대시보드(또는 여러 대시보드)로 통합된 차트와 그래프를 통해 데이터를 확인할 수 있어 데이터를 손쉽게 해석하고 이해할 수 있습니다.
  • 또한 기존의 서버 환경, 쿠버네티스 클러스터 또는 다양한 클라우드 서비스 등 정보가 저장되어 있는 모든 위치에서 확보한 메트릭과 정보에 대한 쿼리를 작성하고 경고를 설정할 수 있습니다.
  • 따라서 데이터를 더욱 간편하게 분석하고 동향과 비일관성을 파악하여 궁극적으로는 프로세스를 더욱 효율적으로 만들 수 있습니다. 
  • 출처 - Red Hat 공식 사이트 (link)

Prometheus

  • 프로메테우스는 오픈 소스 시스템입니다. 
  • 모니터링 및 경고 툴킷은 원래 다음 위치에 구축되어 있습니다. 
  • 사운드클라우드. 2012년 시작된 이래로 많은 사람들이 회사와 조직들은 프로메테우스를 채택했고, 그 프로젝트는 매우 적극적인 개발자 및 사용자 커뮤니티. 이제 독립형 오픈 소스 프로젝트입니다. 
  • Prometeus는 메트릭을 시계열 데이터로 수집하고 저장합니다. 즉, 메트릭 정보는 기록된 타임스탬프와 함께 레이블이라는 선택적인 키-값 쌍과 함께 저장됩니다.
  • 출처 - Prometheus 공식 사이트 (link)
  • Prometheus 가 수집한 Metric 을 이용하여 여러 자원을 모니터링하고, 이를 Grafana 를 통해 시각화 한다.

Grafana Loki

  • Loki는 Prometeus에서 영감을 받아 수평적으로 확장 가능하고 가용성이 뛰어난 멀티 테넌트 로그 집계 시스템입니다. 
  • 매우 비용 효율적이고 조작이 쉽도록 설계되었습니다. 
  • 로그의 내용을 인덱싱하는 것이 아니라 각 로그 스트림에 대한 레이블 집합을 인덱싱합니다.
  • Grafana Labs는 Loki 프로젝트의 개발을 주도하고, Loki를 Grafana로 최고 수준의 지원을 구축하고, Grafana Labs 고객이 Loki의 지원과 필요한 기능을 받을 수 있도록 보장하는 것을 자랑스럽게 생각합니다.
  • 로키 프로젝트는 2018년 Grafana Labs에서 시작되어 KubeCon Seattle에서 발표되었습니다. 로키는 AGPLv3 라이선스로 풀려났습니다.
  • 출처 - Loki 공식 Docs (link)

 

인프라 환경 관리의 코드화

  • 쿠버네티스, 인프라 환경 관리의 장점
  1. 인프라에 대한 History 관리가 편해짐
  2. 인프라 작업 추적 가능
  3. 인프라 환경별 파일 생성 (시간 있을 때 미리 구성 가능, 작업은 Copy & Paste)
  4. 인프라 반복 작업 x, 퀄리티 향상에 집중
  5. 새 인프라 작업시 이전 경험을 녹인 코드 활용

댓글