Offcanvas

How To / 데이터센터 / 애플리케이션 / 운영체제 / 클라우드

프리뷰 | 윈도우 서버 2016에서 '도커' 실행해보니

2015.09.15 Simon Bisson  |  InfoWorld


컨테이너에 도움을 주는 파워셸
마이크로소프트는 도커 대신 파워셸을 이용해 컨테이너를 구축해 관리하는 옵션을 제공하고 있다. 윈도우 서버 2016, 특히 새로 출시된 나노 서버(Nano Server)는 직접 또는 시스템 센터(System Center)를 이용한 원격 파워셸로 관리가 가능하게끔 설계되어 있다. 따라서 이를 이용해 윈도우 컨테이너(Windows Containers)를 관리하는 것이 더 합리적이다.

도커 윈도우 컨테이너와 파워셸 윈도우 컨테이너에는 차이점이 없다. 현재 테크니컬 프리뷰에서는 도커를 이용해 파워셸에서 생성한 컨테이너를 관리할 수 없지만, 둘 모두 동일한 라이브러리와 연동된다.
파워셸을 이용해 하이퍼-V 가상 스위치와 연결된 평가용 서버 코어 VM에 탑재된 이미지 하나로 컨테이너를 구현할 수 있다.

컨테이너를 생성한 후, 다른 파워셸 명령어를 이용해 컨테이너를 시작할 수 있다. 그리고 원격 파워셸 명령어로 관리를 할 수 있다. 컨테이너 cmdlets를 스크립트와 묶어, 더욱 능률적으로 컨테이너를 배치할 수 있다. 여러 데이터센터나 클라우드 인프라에서 컨테이너를 한층 용이하게 자동화 처리할 수 있는 방식이다.

과거 도커를 이용해 컨테이너를 구축해 운영한 경험이 있다면, 파워셸 cmdlet 신택스(구문)와 관련해 문제에 직면할 수도 있다. 파워셸의 컨테이너 관리 도구는 스크립트 구축이 전부다. 따라서 명령어 한 줄로 컨테이너를 실행시키는 대신 컨테이너 설명을 생성하고, 이를 변수로 만들고, 다른 cmdlet를 이용해 컨테이너를 실행시켜야 한다. 파워셸 코드를 작성하고 나면, 이 코드를 기본 스크립트로 비교적 쉽게 명령어를 만들어 낼 수 있다.

네트워킹이 컨테이너에 문제를 발생시킬 수 있다. 윈도우 컨테이너는 호스트 OS가 NAT를 처리하도록 하는 방법으로 이를 극복한다. 컨테이너는 호스트로부터 IP 주소를 획득한다. 그리고 해당 컨테이너의 포트 매핑과 방화벽 규칙을 처리하도록 호스트를 설정할 수 있다. 일부 경우, 파워셸이나 도커 명령어 중 하나를 이용해 고정 포트 매핑을 구성해야 한다. 또 호스트 OS의 기본 방화벽 규칙을 설정할 필요가 있다.

직접 어드레스로 불러낼 수 있는 컨테이너를 구현하고 싶다면, DHCP나 IPAM(IP Address Management)를 이용하는 다른 네트워크에서 IP 주소를 획득하도록 설정할 필요가 있다. 그리고 스크립트로 DNS를 업데이트한다. 실제 환경에서는 직접 액세스가 필요한 경우를 제외하고는 컨테이너에 이름을 지정하지 않는 것이 간편하다. 그리고 웹 종점에는 로드 밸런서로 마이크로서비스는 메시지 큐로 연결을 처리한다.

마이크로소프트의 문서는 컨테이너에 엔진X(Nginx) 웹 서버를 구성하는 방법을 단계 별로 소개하고 있다. 다른 컨테이너를 테스트하고 싶은 사람들을 위해 Node.js와 IIS 등 깃허브(GitHub) 샘플을 제공한다. 마인크래프트도 여기에 포함된다. 그러나 이 초기 릴리스는 윈도우 컨테이너에서 애플리케이션을 실행시키는데 목적이 있다. 자신의 코드가 컨테이너에서 어떻게 작동하고, 컨테이너를 확장 메커니즘으로 실험할 좋은 기회이다.

도커 vs. 파워셸
마이크로소프트는 현 시점에서는 파워셸과 도커의 컨테이너 관리 기능을 분리하는 방식을 선택했다. 관리 플랫폼에 기본적인 차이가 있는 부분들이 일부 존재하기 때문이다. 이를 어떻게 극복할지 불확실하다. 네이밍 같은 간단한 문제에서 상태 관리 같은 복잡한 문제까지 문제가 다양하기 때문이다. 마이크로소프트가 이 둘을 통합하기 전에는 한 가지 방식을 선택해 고수하는 것이 최상이다.

파워셸과 도커 모두 명령어 줄로 컨테이너를 제어할 수 있으며, 고수준의 관리 도구에서 이용할 수 있는 API를 제공한다. 윈도우 서버 컨테이너가 아직까지 큰 문제를 안고 있다는 의미다. 마이크로소프트가 파워셸 및 도커 통합에 노력하고 있지만, 로컬이나 애저 환경에서 컨테이너를 기반으로 지속적인 전달 프로세스를 구현하기 희망하는 시범 프로젝트에는 중대한 문제가 될 수 있다.

그러나 윈도우 서버의 컨테이너 지원 기능을 시험할 가치가 없다는 의미는 아니다. 새 파워셸 도구를 이용해 생산 환경에서 컨테이너를 실행시킬 때 필요한 관리 프레임워크를 구축하기 시작할 수 있다. 유사하게, 도커가 운영 중인 데이터센터에서 어떻게 작동하는지 탐구하고, 윈도우 서버 2016 출시 후 이용할 수 있는 호스트 컨테이너 환경을 구축해 운영할 수 있다.

하이퍼-V 컨테이너는 아직 공개되지 않은 상태다. 즉 윈도우 서버 2016의 컨테이너에 대한 그림이 완성되지 않았다. 그렇지만 윈도우 서버 2016 TP3는 출발점으로는 충분하다. 그리고 향후 테크니컬 프리뷰에서 더 많은 기능이 도입되기를 기대한다.

* Simon Bisson 는 학계 및 통신 분야에 종사해왔으며 기술 전략 컨설팅 업무를 수행해온 IT 전문 칼럼니스트다. ciokr@idg.co.kr 

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.