레이블이 원격관리인 게시물을 표시합니다. 모든 게시물 표시
레이블이 원격관리인 게시물을 표시합니다. 모든 게시물 표시

2014년 7월 5일 토요일

Docker 전용 경량 리눅스 - CoreOS

지난번 구글에서 개발한 차세대 PaaS 클라우드 플랫폼인 docker의 소개에 에 이어서 오늘은 이 docker를 구동하기 해 최적화된 CoreOS를 소개한다.

CoreOS는 Docker구동에 특화된 리눅스OS를 목표로 탄생한 OS이며 다른 리눅스들과 구분되는 CoreOS의 특징은 크게 다음의 세가지 이다.

최소화된OS : CoreOS는 114M의 메모리만을 사용하며 CoreOS측에 의하면 일반적인 리눅스에 비해 40%적은 메모리 사용량이라 한다.

빠른OS업데이트 : CoreOS는 OS용으로 2개의 부트파티션을 지니며, 이를 이용해 업데이트 작업을 빠르고 안정적으로 수행한다.(이를 CoreUpdate라 부른다.)

이게 무슨 이야기 인가 하면, 아래 그림과 같이 A파티션에서 동작하는 CoreOS는 B파티션에 동일한 내용을 지니고 있다. OS업데이트는 B파티션에서 수행함으로서 현재 운영중인A파티션의 실행에는 영향이 없고, 업데이트가 끝나면 리부트 후 바로 업데이트가 적용된 B파티션 OS로 스위칭 되므로 매우 빠르고 안정적인 OS업데이트가 가능해진다.



이러한 일련의 OS업데이트 작업은 만약 업데이트에 문제가 발생했을경우 A파티션이 남아 있으므로 손쉬운 롤백이 가능하다는 장점이 있있으며 조작 또한 웹콘솔상에서 원격 제어가  가능하다.  CoreUpdate는 상용 서포트에서만 사용 가능한 기능이다.

Docker구동에 최적화된 아키텍처 채용: CoreOS는 잠시후에 소개할 etcd나 웹인터페이스를 이용한 모니터링 기능등 대규모 클러스터링에서 안정적으로 Docker를 서포트 하는것에 특화된 OS이다.


컨테이너 로드벨런싱

요즘 대세인 미려한 UI의 Web관리콘솔.
CoreUpdate도 이 콘솔을 이용해 수행이 가능하다.
개인적으론 커맨드라인 인터페이스를 선호하지만
요즘 개발자들은 이런게 없으면 어플리케이션이 고급지지 못하다고 생각하는듯 싶다. 

etcd란?

etcd는 go언어와 Raft프레임워크 이용해 작성된 오픈소스 key-value 저장소로 대규모 Docker 클러스터링에 있어서 컨테이너들을 유기적으로 연동시키고 억세스하기 위한 세련된 아키텍처를 제공한다.

etcd Overview

좀 더 설명하자면 OS에 배당된 IP어드레스에 비해 탑재된 컨테이너들의 수는 엄청나게 많은데 이러한 컨터이너들에 접근하기 위해서는 IP어드레스 이외의 효율적인 어드레싱 수단을 필요로 하게 된다. etcd는 이러한 어드레싱을 HTTP/JSON을 이용해 구현하고 있으며 빠른 성능과 암호화 제공등으로 현재 Docker사용자들에게 주목받고 있다.

Docker컨테이너 실제 구성예. 효율적인 어드레싱 수단이 필요한 이유이다.


지원하는 플랫폼

직접 물리서버에 설치도 가능하고, Vagrant,Amazon EC2, Azure, QEMU/KVM, VMware그리고 OpenStack에 이르기까지 요즘 인기있는 가상화/클라우드 플랫폼은 충실하게 지원하고 있다.

특히, docker를 이용한 대규모 클러스터링 구현은 vagrant에 의존하지 않고는 무척 고된작업이 되어버릴 것 이다. 지금부터 docker를 이용한 클러스터링에 관심을 가지고 사용해 보려는 유저는 이 CoreOS와 함께 vagrant를 같이 익혀두면 크게 도움이 될 것이다.


참고자료






2013년 1월 31일 목요일

윈도우PC들의 소프트웨어 설치 원격 관리하기

회사 또는 소프트웨어 개발 프로젝트에서 신입 요원이 들어온 첫날 하는 일은? 다른건 몰라도 PC를 지급받고 필요한 소프트웨어를 설치하는 작업은 빠지지 않을까 한다. 오늘은 윈도우 환경 PC들에 대한 인스톨 작업의 자동화 및 원격 관리에 방법을 소개해 보고자 한다.

Active Directory환경의 윈도우 PC들

의외로 많이 쓰여지지 않는 기능인데, 마이크로 소프트에서는 Active Directory의 그룹정책을 통해 원격으로 어플리케이션을 인스톨/제거 할 수 있는 관리 기능을 제공하고 있다.

위 방법은 서버 2003뿐만이 아니라 Windows 2000 이후에 발표된 모든 윈도우 제품군들에 대해서 사용이 가능하나, 배포하려는 소프트웨어는 확장자가 msi이어야만 한다는 제약이 따른다. EXE로 배포되는 인스톨러를 MSI로 변환하는 툴은 아래 사이트에서 구할 수 있다.


WPKG를 이용한 리모트 인스톨



Active Directory이외의 환경이나 msi파일 이외의 패키징으로 프로그램을 설치해야 하는 경우엔  WPKG를 추천한다. WPKG는 클라이언트 서버 프로그램으로 구성된 오픈소스 솔루션으로 다음과 같은 기능들을 제공한다.

  • 윈도우PC에대한 완전 자동화된 프로그램 배포/업데이트/삭제
  • MSI,EXE를 포함해 어떠한 포멧이라도 배포 가능
  • 그룹이 다른 PC들 또는 단일 PC에 대한 프로그램 배포
  • 간단한 사용법
  • 커스텀 스크립트를 이용해 프린터 세팅, 월 페이퍼 변경, 시계 동기화, 레지스트리 변경을 포함한 거의 모든 종류의 윈도우 세팅 변경이 가능
  • 로컬 도메인, 워크스페이스는 물론 인터넷과 VPN등의 네트워크 환경에서 동작 가능
  • 윈도우즈2000에서부터 윈도우8 까지 다양한 윈도우 OS를 서포트. 
  • 과거 작업들에 대한 목록 보존 가능
  • 직관적인 웹 인터페이스 제공