16
CoreOS이용한 Docker 관리툴 소개 Docker Seoul Casual Talk #1 / Oct 15, 2014 by @subicura (김충섭)

CoreOS를 이용한 Docker 관리툴 소개

Embed Size (px)

DESCRIPTION

왜 CoreOS가 Docker 관리툴에 적합한 OS인가? CoreOS를 기반으로한 Docker 컨테이너 관리툴에 대해 간단하게 소개합니다.

Citation preview

CoreOS를 이용한 Docker 관리툴 소개 Docker Seoul Casual Talk #1 / Oct 15, 2014

by @subicura (김충섭)

Why CoreOS?

minimalall in one, but minimal!

설치용량 - coreos_production_iso_image.iso (142.6Mb)

메모리사용량 - 40% less RAM than average Linux

필요한 프로그램만 설치

apt-get/yum등 설치 안됨

docker/etcd/fleet/git/curl등 설치됨

readonly files

/usr 디렉토리와 .bashrc등이 readonly

update자동 업데이트

자동 업데이트

2중화는 필수!

필요하면 no reboot option 설정

minimal하기때문에 서버의 업데이트가 부담이 없음

평생 무료 업데이트 (아마도)

security

Shellshork?? => auto update!

clustering클러스터링 기본구성

etcd

쉽고 간단한 key-value manager

consul/zookeeper.. 등이 필요없음

systemd

사용하기 쉽고 간편

fleet = etcd + systemd

puppet/chef/ansible/salt.. 등이 필요없음

fleet쉽고 간단한 배포

for i in $(seq 1 ${SERVICE_NUM}); do fleetctl start ${SERVICE_NAME}-${BUILD_NUMBER}@${i}.service done

# cleanup for i in $(seq 1 ${SERVICE_NUM}); do for check in $(seq 1 ${CHECK_NUM}); do if [ $(fleetctl list-units --no-legend --fields unit,active | grep ${SERVICE_NAME}-${BUILD_NUMBER}@${i}.service | awk '{print $2}') = 'active' ]; then fleetctl destroy $(fleetctl list-units --no-legend --fields unit | grep ${SERVICE_NAME}- | grep @${i} | grep -v ${BUILD_NUMBER}) break fi sleep 5 done done

*무중단 배포를 추가 프로그램 설치 없이 쉘 스크립트로 간단하게

cloud-config기본 필수파일 설치도 쉽게

write_files: - path: /etc/fstab permissions: 0644 content: | 192.168.0.2:/nfs /mnt/nfs nfs rw,hard,intr,nolock,rsize=8192,wsize=8192,timeo=14 0 0 - path: /etc/systemd/journald.conf permissions: 0644 content: | [Journal] SystemMaxUse=50M

*바이너리를 포함해 어떤 파일도 설치시 설정 가능

and OpenSource!

Private Cloud with Docker

관리툴의 조건

GUI - 쉬운 컨테이너 설치 및 상태 확인

Detail - native의 기능을 모두 사용 가능

Cluster - 확장을 쉽게

Easy Install - 설치를 쉽게

Service Template - 컨테이너 구성을 하나의 서비스로

More - CI, Auto Scale…

http://panamax.io

Docker Management for Humans 쉽게 설치하고 쉽게 사용함

http://stampede.io

hybrid IaaS/Docker orcherstration platform VM/Docker 관리

네트워크

UI/REST API/Command Line Tool/Python Library

Stampede

http://www.youtube.com/watch?v=UsQ9cVLieaQ&feature=youtu.be

Stampede