본문 바로가기

IT TREND

더욱 간편하고 스마트한 CSI 드라이버, Storage Plug-in for Containers!


최근 쿠버네티스(Kubernetes) 1.13 발표에 맞춰 Container Storage Interface(이하 CSI) 1.0이 출시되었다. CSI 도입을 통해 얻을 수 있는 이점과 CSI 사용을 더 편리하게 해주는 Storage Plug-in for Containers의 기능에 대해 자세히 알아보자.


CSI, 다양한 벤더의 스토리지 제어

CSI 스펙은 쿠버네티스(Kubernetes), 메소스(Mesos), 도커(Docker), 클라우드 파운드리(Cloud Foundry) 등 다양한 컨테이너 오케스트레이션 플랫폼의 커뮤니티 간 협업에서부터 시작됐다. 표준 API인 CSI를 이용하면 사용자가 컨테이너 오케스트레이션 플랫폼 상에서 다양한 벤더의 스토리지를 제어할 수 있다.

컨테이너 환경 관리 툴은 2013년에 발표된 도커(Docker)가 첫 시작이었다. 이어 쿠버네티스, 메소스, 도커 스웜(Docker Swarm) 등 다양한 컨테이너 오케스트레이션 플랫폼이 속속 등장했다. 그러나 플랫폼마다 스토리지용 관리 인터페이스가 상이해, 스토리지 벤더나 SI 업체들은 각각의 컨테이너 오케스트레이션 플랫폼에 맞춰 적합한 드라이버를 개발해야 했다.

이런 상황 때문에 몇몇 컨테이너 오케스트레이션 커뮤니티들이 서로 협력하여 컨테이너용 스토리지 관리 공통 인터페이스를 만들었다. 이는 스토리지 벤더가 개발한 드라이버를 다양한 컨테이너 오케스트레이션 플랫폼에서 재활용이 가능하다. 이 인터페이스가 바로 CSI다. 쿠버네티스는 지난해 12월 쿠버네티스 1.13으로 CSI 지원에 발 빠르게 대응했고, 이때부터 CSI가 공식 버전으로 자리잡기 시작했다.



CSI 적용 전후 비교



위 그림에서처럼 스토리지 구성 변화를 최소화해 간편하게 컨테이너 오케스트레이션의 이점을 누릴 수 있도록, 현재 CSI를 지원하는 컨테이너 오케스트레이션 플랫폼의 수가 점차 늘고 있다. 그렇다면 CSI를 통해 얻을 수 있는 이점은 무엇일까?



Storage Plug-in for Containers 출시로 적극 대응

효성인포메이션시스템은 컨테이너 스토리지 솔루션에 적극적으로 대응해왔다. 지난 2017년 11월 업계 최초로 발표한 Storage Plug-in for Containers 1.0.0이 그 시작이다.

쿠버네티스 스토리지를 구현하는 데는 두 가지 방법이 있다. ‘In-tree’와 ‘Out-of-tree’다. ‘In-tree’의 경우 드라이버 출시 시점이 쿠버네티스와 맞아야만, 코어 리포지토리(Repository)에 직접 구현할 수 있다. 이와 달리 ‘Out-of-tree’는 쿠버네티스 코어 리포지토리에 포함되지 않으므로 쿠버네티스 출시 시점을 신경 쓰지 않고도 스토리지 벤더가 자체적으로 구현할 수 있다.

효성인포메이션시스템은 ‘Out-of-tree’ 타입의 외장 프로비저너를 사용한다. 이 방식은 스토리지 벤더가 긴급 패치를 신속히 수행할 수 있다는 장점이 있어 최신 드라이버의 신속한 사용이 가능하다.


VSP 장점을 십분 활용하는 Storage Plug-in for Containers

Storage Plug-in for Containers는 쿠버네티스와 호환 가능한 CSI 드라이버로, 컨테이너 환경에서 VSP의 스토리지 볼륨을 역동적으로 프로비저닝하는데 사용된다. 이 드라이버는 쿠버네티스용 컨테이너로 배치되어 일반적인 애플리케이션처럼 실행되며, 쿠버네티스에서 볼륨 생성 명령을 받아 해당 명령을 REST API로 보내준다. 또한 VSP 볼륨을 쿠버네티스가 관리하는 컨테이너로 프로비저닝 한다. 이를 통해 Storage Plug-in for Containers는 컨테이너 환경에서 VSP의 고성능과 높은 신뢰성을 충분히 활용할 수 있도록 지원하게 된다.

다음 그림은 쿠버네티스 CSI를 사용한 클러스터 구성 사례다. HSCP는 spc-csicontroller와 spc-csi-node 2개의 컴포넌트로 구성되어 있다.


쿠버네티스 CSI 활용한 클러스터 구성의 예



CSI의 등장으로 스토리지 벤더가 쿠버네티스, 메소스 등 다양한 컨테이너 오케스트레이션 플랫폼 지원을 위해 단일 볼륨 드라이버를 개발할 수 있게 되었다. 이제 컨테이너 환경 사용자는 하나의 컨테이너 오케스트레이션 플랫폼만 선택해도 플랫폼 전반에 걸친 다양한 기능과 활용성을 기대할 수 있는 스토리지 인프라를 확보할 수 있게 되었다.

2019년 1월, VSP 시리즈를 지원하는 CSI 드라이버인 Storage Plug-in for Containers 2.0.0을 발표했다. 이제 VSP의 고성능과 신뢰성 기능을 컨테이너 환경에서 활용할 수 있게 된 것이다.