쿠버네티스와 컨테이너 기술은 마이크로서비스아키텍처(MSA) 환경을 구현하기에 가장 적합한 기술로 지목되며 최근 각광을 받고 있다. 비즈니스 민첩성이 점점 더 중요해지는 환경에서 컨테이너와 쿠버네티스는 하이브리드 클라우드, 나아가 멀티 클라우드 서비스를 모두 사용하길 원하는 기업들의 요구를 충족하는 대안으로도 떠올랐다.

프라이빗 클라우드 환경에서 컨테이너 애플리케이션 서비스를 구현하고 운영, 관리할 수 있는 오케스트레이션 플랫폼인 쿠버네티스를 구축하고자 할 경우, 인프라 환경을 고려할 수밖에 없다. 하지만 다양한 오픈소스·상용 컨테이너와 쿠버네티스 플랫폼, 그리고 이를 구동할 x86 서버 기반 베어메탈 시스템, 하이퍼컨버지드인프라스트럭처(HCI), 가상화(VM), 네트워크, 스토리지까지 고려해야 할 영역이 방대하고 수많은 기술이 혼재하는 상황에서 기업 환경과 요구에 맞는 방식을 선택하고 구성하는 것이 그리 간단한 일은 아니다.

그러다보니 기업에서 사용하는 애플리케이션들을 컨테이너화해 사용하는데 그치는 경우도 있고, 서비스 계층에만 초점을 두고 프로젝트를 진행하다 네트워크 인프라 계층에서 예기치 않는 문제가 발생하는 일도 생겨나고 있다. 인프라 구성이 복잡해지고 높은 성능과 가용성이 뒷받침되지 않아 장애가 발생하거나, 가시성이 확보돼 있지 않아 뒤늦게 인프라를 변경하는 경우다.

현업, 개발조직의 요구에 따라 애플리케이션을 빠르고 유연하게 개발하고 배포할 수 있는 CICD(Continuous Integration and Continuous Delivery) 환경을 구축하는 것에만 신경쓰다보면 오히려 전체 플랫폼을 구축하는데 더 오랜 시간이 걸릴 수 있다. 실제 컨테이너와 쿠버네티스 플랫폼을 구축하고 있지만 MSA를 구현하지 못하고 있는 사례가 많은 이유이기도 하다.

이같은 상황은 기업 내 조직 운영 방식과 연관돼 있다. 서비스 개발부터 배포하고 구동하는 과정에 개발자, 플랫폼 담당자, 인프라 운영자 조직이 구분돼 있고 성과와 목표가 저마다 다르기 때문이다.

시스코코리아의 데이터센터 테크니컬 솔루션 전문가는 “비즈니스 민첩성이 매우 중요해지면서 컨테이너와 쿠버네티스로 MSA를 구축하려는 움직임이 활발하다”라면서 “컨테이너는 기업의 웹, 웹 애플리케이션 서버(WAS), 데이터베이스(DB)로 구성되는 IT 서비스 인프라가 한 덩어리로 구현돼 움직이는 모놀로틱(monolithic) 구조를 탈피해 민첩성을 확보하고 종속성을 제거할 수 있게 해 MSA 트렌드에 적합하다”고 말했다.

이 전문가는 “MSA를 구축하기 위해서는 기술뿐 아니라 조직의 변화까지 이뤄져야 한다. 그리고 서비스 계층만이 아니라 인프라 계층까지 아우르는 통찰력을 바탕으로 설계해야 하지만 쉬운 일이 아니다”라면서 “MSA를 구현하기 위한 플랫폼과 이를 지원하는 최적의 인프라를 엔드투엔드(end to end)로 제공하는 기업은 시스코밖에 없다”고 강조했다.

네트워크, 컴퓨팅, 스토리지 영역을 아우르는 시스코 SDx 플랫폼

컨테이너와 쿠버네티스 플랫폼을 구축하려면 소프트웨어정의(SDx) 방식의 컴퓨팅, 네트워크, 스토리지 인프라가 필수다. 시스코는 기업이 원하는 컨테이너 애플리케이션 서비스에 최적화된 SDx 인프라를 모두 지원하고 있다.

소프트웨어정의네트워킹(SDN)은 시스코 ACI(Application-Centric Infrastructure), 소프트웨어정의컴퓨팅(SDC) 구현 플랫폼은 UCS(Unified Computing System), 소프트웨어정의스토리지(SDS) 플랫폼이 탑재돼 있는 HCI는 하이퍼플렉스(HyperFlex)를 활용한다.

이들 시스코 플랫폼은 컨테이너 네트워크 인터페이스(CNI), 컨테이너 스토리지 인터페이스(CSI)를 지원해 컨테이너 애플리케이션 서비스 인프라에서 요구되는 손쉬운 구성과 운영, 가시성을 충족한다. CNI, CSI는 리눅스재단의 클라우드네이티브컴퓨팅재단(CNCF)에서 컨테이너, 쿠버네티스 환경을 손쉽게 구축하기 위해 만든 플러그인 표준규격이다.

시스코는 구글을 비롯해 레드햇, 피보탈 등이 제공하는 쿠버네티스, 오픈시프트 컨테이너 플랫폼, 클라우드 파운드리와 같은 다양한 오픈소스·상용 쿠버네티스 플랫폼을 모두 지원하고 있다. 시스코 컨테이너 플랫폼(CCP)도 제공한다.

컨테이너 네트워크 인터페이스(CNI)와 컨테이너 스토리지 인터페이스(CSI) 지원

CNI 플러그인을 지원하는 시스코 ACI는 컨테이너와 쿠버네티스 플랫폼의 제어부에서 수행해야 하는 컴퓨팅과 스토리지 영역, 쿠버네티스와 컨테이너 플랫폼과 각각의 노드 사이에서 필요한 동-서, 북-남 트래픽을 처리하는 모든 네트워크 기능을 관장한다.

컨테이너들로 구성된 포드(Pod) 간 가상 오버레이 네트워크(VxLAN) 터널링 기반 통신과 내외부 라우팅 경로를 지원하고, 컨테이너 서비스 환경에서 필요한 성능과 가시성을 확보할 수 있게 만든다. 컨테이너 애플리케이션 서비스에서 필요한 로드밸런싱도 하드웨어 스위치에서 정책 기반 라우팅(PBR) 로드밸런싱 기능을 제공한다. 컨테이너로 로드밸런싱을 수행하는 방식에 비해 성능에 미치는 영향을 최소화할 수 있다는 게 시스코의 설명이다. 아울러 기업이 요구하는 단일한 보안정책도 적용할 수 있다.

핵심 역할은 ACI의 APIC(Application Policy Infrastructure Controller)이 수행한다. SDN 환경에서 컨트롤러가 모든 데이터 경로(네트워크 장비)를 제어하는 방식의 시스코 ACI의 구조가 ACI CNI를 통해 컨테이너, 쿠버네티스 플랫폼 안에서 그대로 구현된다. 모든 네트워킹 영역을 관장한다는 얘기다. 플랫폼의 마스터 노드에 API로 연동된 ACI 컨테이너 컨트롤러가 구동되고, 워커 노드에서 구현되는 오픈가상스위치(OVS)를 컨테이너 ACI OVS가 대신 처리한다. 이 노드에는 ACI 호스트가 OVS와 ACI OVS, 그리고 ACI 컨테이너 컨트롤러와 통신한다.

프로세스로 동작하는 컨테이너 서비스 운영 환경에서는 컨테이너의 특성상 데이터 연속성을 가져가기가 힘들다. 이로 인해 지속적인 볼륨(Persistent Volume, PV)을 운영할 수 있는 환경을 만들 수 있도록 CSI가 사용되고 있다. 스토리지 컨트롤러를 컨테이너로 플랫폼 노드에 탑재하는 방식으로 구현된다. 이에 따라 사용하고 있는 네임스페이스(NameSpace)나 클러스터 단위로 현업 담당자들이 필요시 중복제거, 압축 등의 데이터 관리를 유연하게 수행할 수 있다.

시스코는 UCS와 하이퍼플렉스에서 SDS 구성을 최적화할 수 있도록 지원하고 있다. 시스코 하이퍼플렉스는 PV 스토리지를 위한 CSI 플러그인을 지원한다. CSI가 등장하기 전에 구글과 협력해 개발한 플렉스볼륨(Flexvolume) 스토리지 인터페이스도 제공한다.

ACI+UCS, ACI+하이퍼플렉스 기반 레드햇 오픈시프트 아키텍처

시스코는 SDx 플랫폼과 오픈시프트 컨테이너 플랫폼(이하 OCP)을 기반으로 검증된 아키텍처를 제공하고 있다.

먼저 시스코 넥서스 스위치 기반의 ACI와 UCS를 기반으로 SDN과 SDC, SDS를 구현할 수 있다. 기존의 데이터센터 인프라와 비슷하지만 필요에 따라 프로그래밍 기능을 구현할 수 있는 아키텍처다. UCS는 베어메탈과 가상화(리눅스 KVM) 환경을 모두 지원한다. 그 위에 OCP가 탑재된다. 스토리지는 UCS에 레드햇 Ceph 스토리지를 비롯해 다양한 상용 스토리지와 셀프 스토리지를 구현할 수 있다.


그림을 보면, OCP의 마스터노드가 세 대의 블레이드 서버에 분산돼 고가용성(HA) 클러스터로 구성돼 있다. 인프라 노드는 블레이드 서버 두 대에 고가용성 프록시, 레지스트리 등이 탑재돼 있다. 애플리케이션 컨테이너가 구동되는 노드가 네 대의 블레이드 서버로, 그 아래 컨테이너 스토리지 노드까지 블레이드 서버에 구현돼 있다. 외부 물리적 스토리지는 OCP와 ACI CNI 플러그인이 연동돼 연결을 제어한다.

시스코 ACI APIC이 전체 네트워크 영역을 제어하는 역할을 수행한다. UCS 매니저는 클러스터 형태로 구성되는 컴퓨팅과 스토리지 영역을 한꺼번에 제어할 수 있다. APIC과 UCS 매니저가 지원하는 REST API로 앤서블과 연동해 플러그인 설치와 구성까지 자동화된 워크플로우를 구현할 수 있다.

시스코는 네트워크와 컴퓨팅 물리적 노드를 직접 앤서블을 활용해 제어할 수 있는 방법을 권고한다. 서비스 플랫폼이 점점 커져 네트워크 스위치와 컴퓨팅 노드 역시 수십대씩 늘어날 경우 오히려 하드웨어가 서비스 확장 속도를 따라가지 못하는 경우가 있다는 이유에서다. APIC과 UCS 컨트롤러에서 앤서블 타워와 연동하게 되면 보다 간편하고 빠르게 정책 기반 자동화 환경을 운영할 수 있다.

시스코 ACI와 하이퍼플렉스로 구성하는 방식은 100% SDx를 구현한다. 컴퓨팅과 스토리지, 가상화(VM)가 통합된 HCI를 활용해 인프라 구조는 좀 더 단순하다.

기업 환경에서는 가상화, 특히 VM웨어 환경에서 컨테이너 서비스를 구현하는 경우가 실제로 많다. 그동안 VM을 많이 활용해 왔다는 이유도 있지만 베어메탈 환경에 비해 필요한 VM 노드를 빠르게 설치할 수 있고 드라이버도 손쉽게 적용할 수 있다는 장점을 제공한다는 게 주된 이유로 꼽힌다.

ACI와 하이퍼플렉스 기반으로 OCP를 구성한 아키텍처다. 컴퓨팅과 스토리지단은 4개의 하이퍼플렉스 노드로 구성하고 네트워킹도 단순화해 40Gbps로 연결돼 있다. 네트워킹은 ACI 기반 SDN이 구성돼 있다. 마스터, 인프라, 애플리케이션 노드들은 VM이다. 관리자들은 서비스 확장이 필요할 경우 손쉽게 필요한 CPU와 메모리를 할당해 자원을 늘려나가면 된다.

APIC과 하이퍼플렉스 컨트롤러에서 지원하는 REST API로 앤서블과 연동해 물리적 인프라 설치부터 플러그인 연동, 가상화 환경의 OCP 프로비저닝, MSA 정책까지 자동화된 방식으로 구성할 수 있다.

글. 바이라인네트워크
<이유지 기자>yjlee@byline.network