반응형

올해 1년간 on-prem 쿠버네티스를 운영 프로젝트를 진행하고 있다. 특별히 RKE(Rancher Kubernetes Engine)에서는 Longhorn 이라는 스토리지클래스를 사용하도록 가이드 하고 있어 Rancher Cluster 들은 모두 Longhorn을 사용하고 있다. 그리고 kubespray로 구축된 클러스터는 Kadalu 라는 스토리지클래스를 사용하고 있는데 두 스토리지클래스의 사용 후기를 짧게 나마 적어놓으려 한다.

CNCF Cloud Native Storage Landscape

Longhorn Kadalu
분산 블록 스토리지 분산 파일 스토리지

Longhorn

롱혼은 분산 블록 스토리지 솔루션으로, Blob Storage를 제공한다.
이로 인해 볼륨 기반의 고가용성과 복제 기능에 중점을 둘 수 있다.

주요기능

  • 볼륨 복제 : 데이터를 여러 노드에 복제하여, 하나의 노드가 장애를 일으켜도 데이터 손실이 안됨
  • 자동 복구 : 장애 노드나 디스크를 자동으로 복구
  • 간단한 관리 : 설치와 사용이 간단하며 k8s 통합
  • UI 제공 : 직관적인 웹 UI 제공, 스토리지를 쉽게 관리할 수 있음
  • 성능 : 고성능 블록 스토리지가 필요할 때 사용(데이터베이스, 로그처리 등)

운영후기

1. Longhorn 은 node 서비스에 의존적이기 때문에 서비스가 active 상태인지 모니터링이 필요

  • ISCSID - RWO 제공
  • NFS-COMMON - RWX 제공

2. WEB UI 를 활용한 스토리지 관리가 매우 편리함

  • 스토리지 복제 및 관리 편리
  • 설정 반영

Kadalu

카달루는 분산 파일 스토리지 솔루션으로, File Storage를 제공한다.

내부 로직은 GlusterFS 기반으로 동작한다.

주요기능

  • 파일스토리지 제공 : 컨테이너 환경에서 애플리케이션이 파일 기반스토리지를 사용 가능
  • GlusterFS 통합 : 큰 용량의 데이터를 분산 처리할 수 있는 파일 스토리지 제공
  • 저비용 : 블록 스토리지와 비교했을 때 파일 스토리지는 비용이 덜 들며, 로그 파일, 백업 파일, 대규모 비구조화 데이터 저장에 적합
  • 확장성 : 대용량 데이터 처리, 동적 확장
  • 간편한 설치 및 관리 : k8s 통합, 관리 용이

운영후기

1. 알아서 잘됨.. 문제가 난 적이 없음;;;

2. UI 가 있다고 해서 nginx에 적용해서 시도해봤으나 kadalu api 구성부분이 필요하다고 해서 gg침

 

정리

longhorn 은 node 에 의존적이다!!!! (nfs-common 서비스가 왜 죽을까.....!!! 좀 열받는다.)

kadalu 는 DISK 를 POD에서 포맷하기 때문에 node에 아무 관련이 없다.

즉, Cloud Native 에 적합하다. landscape에 GRADUATED 상태인 'Rook' 도 동일한 아키텍처로 봤다.

 

둘 다 장단점이 있으니.. 해본 것에 의미를 두자.

반응형
복사했습니다!