ACROFAN

[OSS 2018 Berlin] SK텔레콤의 Airship, Armada 사용 사례 발표 세션

기사입력 : 2018년 12월 12일 00시 35분
ACROFAN=권용만 | yongman.kwon@acrofan.com | SNS
오픈스택 재단(OSF: OpenStack Foundation)은 현지 시각 11월 13일부터 15일까지 독일 베를린 시티큐브 베를린(Citycube Berlin)에서 ‘오픈스택 서밋 베를린(OpenStack Summit Berlin)’을 개최했다. 이번 ‘오픈스택 서밋 베를린’은 ‘오픈 인프라스트럭처(Open Infrastructure)’를 기조로, 35개 이상의 프로젝트에서 200개 이상의 세션과 워크샵들이 50여개 국에서 참석한 전문가 및 관계자들과 함께 진행되었다.

이번 ‘오픈스택 서밋 베를린’은 클라우드 뿐 아니라 엣지 컴퓨팅, CI/CD, AI, 네트워크 가상화(NFV), 컨테이너 인프라에 이르기까지 다양한 형태의 ‘오픈 인프라스트럭처’에서의 혁신 기술들과 사례들에 대해 다루며, 35개 이상의 오픈소스 프로젝트에서 200개 이상의 세션과 워크샵들이 마련되었다. 특히 이번 서밋이 열리는 독일은 오픈스택이 가장 활발하게 사용되는 지역으로도 꼽히는데, 대형 통신사나 엔터프라이즈, 퍼블릭 클라우드 서비스 사업자들이 오픈스택 기반 환경을 활발히 활용하고 있으며, 커뮤니티 규모와 활동 면에서도 활발한 모습을 보이는 지역으로 꼽힌다.

이번 서밋에서는 SK텔레콤 소프트웨어 R&D 센터의 안재석 박사 팀이 SK텔레콤의 에어쉽(Airship), 아마다(Armada)의 사용 사례를 공유하는 세션을 진행했다. SK텔레콤은 오픈스택 재단의 프로젝트 중 컨테이너 기반의 오픈스택 활용이나 에어쉽 프로젝트의 진행에 큰 기여를 한 바 있으며, 이날 발표자 중 하나였던 안재석 박사는 한국 오픈스택 사용자 커뮤니티의 초대 회장을 맡기도 했었다. 그리고 이번 서밋의 발표에서는 SK텔레콤의 오픈스택 환경에서 이 에어쉽과 아마다 프로젝트를 어떤 식으로 구성, 활용하고 있는지 소개했다.

▲ 이번 서밋에서는 SK텔레콤의 오픈스택 관련 사례 발표도 있었다

SK텔레콤의 안재석 박사는 이 자리에서, SK텔레콤은 오픈스택 helm(Helm) 프로젝트와 ‘에어쉽’ 프로젝트 등의 진행에 중요한 역할을 한 바 있으며, 에어쉽의 활용에 있어서는 AT&T와는 다른 형태로 활용되었다고 소개했다. 그리고 현재 SK텔레콤의 인프라 배포 시스템인 ‘TACO’는 컨테이너 기반의 오픈스택 환경으로, 오픈스택과 쿠버네티스, helm과 에어쉽 등의 다양한 오픈소스 툴들을 활용하고 있다고 소개했다. 그리고 이 플랫폼은 향후 더 고도화되어, 오픈스택이나 쿠버네티스 배포가 가능한 온프라미스나 프라이빗, 퍼블릭 클라우드 등에까지 확장되고, 머신러닝 등의 작업까지 대응할 수 있을 것이며, 기본적으로는 인프라 배포를 위한 아주 유연하고 단순한 시스템을 추구한다고 덧붙였다.

SK텔레콤이 인프라의 배포 측면에 있어서 요구했던 부분들은 ‘에어쉽’ 프로젝트와 정확히 일치하며, 이에 SK텔레콤은 이 프로젝트에 활발히 참여, 기여했다고 밝혔다. 이 ‘요구사항’으로는 인프라에서 뭔가를 하기 위한 준비를 단 하나의 문서로 선언할 수 있고, 컨테이너 환경을 기반으로 하며, 라이프사이클 관리에서의 단일 워크플로우, 다양한 아키텍처와 소프트웨어에 대한 유연성 등이 꼽혔다. 그리고 SK텔레콤은 이번 사례에 있어 핵심 프로젝트로 오픈스택 helm, 에어쉽, 아마다 프로젝트를 꼽았다.

에어쉽은 사용자의 배포 환경을 정의할 수 있는 선언 문서를 생성하고, 이 문서에는 베어메탈 프로비저닝이나 쿠버네티스 등 프로비저닝에 필요한 모든 정보를 포함할 수 있다. 사용자가 이 문서를 에어쉽 툴체인을 통해 실행시키면, 에어쉽은 이 문서의 정보를 기반으로 베어메탈 환경을 프로비저닝하고 설정하며, 사전 정의된 쿠버네티스와 오픈스택 환경을 프로비저닝할 수 있다. 또한 SK텔레콤은 에어쉽을 그대로 활용하지 않고, ‘아마다’를 함께 활용했는데, ‘아마다’는 다수의 helm 챠트를 관리할 수 있는 도구로, 단일 아마다 YAML에서 모든 구성을 집중 관리할 수 있게 하며, 기본 helm 클라이언트에 없는 다양한 기능을 제공한다고 덧붙였다.

한편 이 프로젝트는 여타 프로젝트와 달리, 바닥에서부터 모든 것을 쌓아올리는 과정이 아니었다. 팀의 목표는 ‘모든 것을 오픈스택 기반에서’ 하기 위한 풀 컨트롤을 확보하는 것이었지만, 베어메탈 프로비저닝은 운영 팀이 독자적인 방식의 프로비저닝을 사용하고 있었고, 이에 이 부분은 그냥 받아들여 활용하면 되었다. 또한 Ceph 스토리지 부분에서도 이미 자체적으로 올플래시 기반의 Ceph를 가지고 있었던 만큼, 팀 간 협력으로 해결되었다. 그리고 가장 큰 요구 사항은 ‘프라이빗 클라우드’가 첫 번째였고, ‘VDI’가 두 번째였으며, IT와 네트워크 클라우드의 요구 사항은 꽤 많이 달랐다고 덧붙였다.

▲ 단순한 사용이 아니라, 한 발 앞서 개발을 주도한 사례이기도 하다

SK텔레콤은 이 프로젝트의 시작에 대해, 2016년 쿠버네티스 위에서의 오픈스택 환경 구성에 대해 초기 단계에서부터 비슷한 생각을 가지고 있던 AT&T의 개발 팀을 만나게 된 것부터라고 밝혔다. 그리고 SK텔레콤은 오픈스택 helm 프로젝트에 초기부터 적극적으로 참여해 왔으며, 초기 단계에서부터 사용할 도구에 대한 결정도 가지고 있었다고 소개했다. 그리고 2017년 이 오픈스택 helm 프로젝트가 업스트림 프로젝트로 시작될 당시 이미 SK텔레콤은 한 발 앞서 Kubespray를 사용하고 있었고, 2018년에는 에어쉽 프로젝트가 파일럿 프로젝트로 선정되었는데, 이미 이 시점에서 SK텔레콤이나 AT&T의 경우에는 이미 이들 프로젝트를 프로덕션 환경에 활용하고 있는 상황으로, 커뮤니티들의 일정들보다 한 발 일찍 진행되었다고 설명했다.

현재 TACO의 스택은 오픈스택과 쿠버네티스 기본 환경 적재에 아마다와 helm 챠트를 사용하고, 쿠버네티스 설치에 kubespray를 사용하고 최근 kubeadm을 고려히고 있으며, Ceph의 설치에는 ceph-ansible 을 사용하고, 도커 설치와 레지스트리 설치, 호스트 설정과 부트스트래핑에는 앤시블을 활용하고 있다고 소개했다. 그리고 향후 베어메탈 프로비저닝에는 아이로닉(Ironic)의 사용을 고려하고 있다고 덧붙였다. 이와 함께, 현재 매니패스트 관리를 위한 ‘Deckhand’의 활용을 검토하고 있고, 이는 현재 다양한 배포를 위해 가지고 있는 다양한 아마다 매니패스트의 관리 개선을 위함이라고 밝혔다.

베어메탈 배포에서도 베어메탈의 ceph 배포에 지금은 앤시블을 활용하고 있는데, 컨테이너화된 ceph 배포 옵션을 고려하고 있고, 오픈스택 helm의 ceph 챠트를 활용할 수 있을 것으로 기대하고 있다고 소개했다. 이 외에도 베어메탈 클러스터 환경에서 아이로닉에 쿠버네티스 클러스터 API의 통합에 대한 부분이나, 컨테이너를 통한 오픈스택 배포에서의 보안 측면, LMA 툴이나 쿠버네티스 툴 관련 등을 관심있는 주제로 꼽았다.

한편, 에어쉽 커뮤니티는 대단히 협조적이며, 다양한 사용 사례로의 적용에 아주 개방적이라고 소개했다. SK텔레콤은 BYO(Bring your own) 컨셉의 베어메탈이나 쿠버네티스, ceph 클러스터 등의 프로비저닝 방법을 프로젝트에 조합해 사용하는 등을 커뮤니티와 논의하는 데 있어, 같은 요구를 가진 커뮤니티에 많은 도움을 받았다고 언급했다. 그리고 SK텔레콤 또한 비슷한 요구사항을 가진 경우 적극적으로 협력하고자 하고 있으며, 관련 사례는 오픈스택 재단의 리뷰 문서로도 공개하고 있다고 덧붙였다.

▲ 전체 흐름에서, 아마다는 시나리오 테스트와 통합 테스트 부분에 적용되었다

SK텔레콤의 현재 전체 배포 파이프라인은 베어메탈 프로비저닝 등이 완료된 상태에서부터 커스텀 플레이북 ‘Tacoplay’를 사용해 앤시블을 통한 ceph 설치, kubespray를 통한 쿠버네티스 설치와 아마다 등을 통한 오픈스택 배포가 진행되는 형태다. 그리고 일반적인 CI 파이프라인은 유닛 테스트와 통합 테스트, 프로모션 스테이지로 넘어가며, 이 때 파이프라인은 ‘이미지 빌드’ 파이프라인과 ‘실제 배포’ 파이프라인의 두 가지가 있고, 이 과정에서 아마다는 시나리오 테스트와 통합 테스트 영역에 적용되어 있다고 소개되었다.

아마다를 사용하면 모든 helm 챠트에서 변경이 필요한 부분을 일괄적으로 반영할 수 있으며, SK텔레콤은 아마다를 CI 파이프라인에 크게 두 가지 경우로 활용했다고 소개했다. 먼저 소개된 것은 통합 테스트를 위한 전체 오픈스택 환경 배포에 활용한 것이며, 두 번째는 개별 시나리오 테스트를 위한 개별 서비스 배포다. 그리고 이 양쪽 모두 통합 환경을 통해, 최소한의 매니페스트를 통해 활용되어 복잡성 부분의 문제를 최소화했다고 덧붙였다. 이 때 전체 서비스 배포는 명령어가 간단하지만, 서브셋 서비스의 배포에서는 명령어가 좀 더 복잡하고, 이 때는 챠트 그룹을 통해 편의성을 확보했고, 이 또한 자동화했다고 밝혔다.

한편 현재 아마다에서 발생하는 문제로는 타임아웃을 걸었을 때 실제 작업이 다 끝났음에도 제대로 종료되지 않는 것이 꼽혔는데, 이는 테스트 환경에서만 나타났고, 아마다와 쿠버네티스 API, 틸러(Tiller) 간의 통신 방식에서 나오는 문제였으며, 파라미터 수정 정도로 해결할 수 있었다고 소개했다. 또한 현재 SK텔레콤은 빅데이터 플랫폼과 머신러닝 GPU 인프라에 쿠버네티스를 활용하고, SK텔레콤의 프라이빗 클라우드와 VDI 환경, 그리고 통신 인프라에 오픈스택을 활용하고 있으며, 아마다나 오픈스택 helm, 에어쉽 프로젝트는 오픈스택에서 쿠버네티스의 배포에 있어 많은 도움을 주고 있다고 덧붙였다.

Copyright ⓒ Acrofan All Right Reserved



[명칭] 아크로팬   [제호] 아크로팬(ACROFAN)    [발행인] 유재용    [편집인] 유재용    [청소년보호책임자] 권용만
Copyright © ACROFAN All Right Reserved