Puppet과 자동화된 시스템 관리
Upcoming SlideShare
Loading in...5
×
 

Puppet과 자동화된 시스템 관리

on

  • 4,101 views

 

Statistics

Views

Total Views
4,101
Views on SlideShare
4,074
Embed Views
27

Actions

Likes
16
Downloads
46
Comments
0

3 Embeds 27

https://twitter.com 24
http://www.twylah.com 2
http://blog.naver.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Puppet과 자동화된 시스템 관리 Puppet과 자동화된 시스템 관리 Presentation Transcript

  • 과효율적인 시스템 관리 클라우드기술팀
  • [pΛpit]1. 인형3. 꼭두각시
  • IT automation software that helps systemadministrators manage infrastructurethroughout its lifecycle, fromprovisioning and configuration to patchmanagement and compliance
  • 두달새20,000대 50,000대가 넘는 시스템
  • 올해 1월3천만 달러
  • 왜?
  • 기존에는... 머리 속의 지우개 한 명에게 올인내 머리 속 혹은 네 머리 속포스트잇・위키・텍스트・워드・엑셀 문서현란한 쉘 스크립트 여백이 충분하지 않아 옮기지는 않는다 집 짓고 설계도 그리기 :(){ :|:& };:
  • 더 나은 방법 Assembly Shell Scripts Ruby, Python, Java, C, PHP ※ 대체재 — 새로운 것이 아님
  • 어떻게 생겼나?
  • 특징Ruby 기반고유한 설정 명세 언어다양한 OS 지원Red Hat, Fedora, Debian, Ubuntu, CentOS, SuSE, Solaris, OS X, AIX,HP–UX, OpenBSD, FreeBSD, WindowsHTTPS 기반의 Master/Agent혹은 Standalone
  • Puppet Languagenode colatech-dance-pool1 { Node include colatech::music 역할 정의 include colatech::puppetagent}class colatech::music { file { /music: ensure => directory }}class colatech::puppetagent { Class cron { /usr/bin/puppet agent: 의미를 갖는 ensure => present, user => root, 자원의 묶음 hour => [ 4 ], minute => [ 22 ], } Resource} 최소 단위의 자원
  • 리소스file { /music/dance: ensure => file }user { bigboy: ensure => present }group { bigbros: ensure => present }package { mysql-server: ensure => installed }service { mysql: ensure => running }tidy { /music/logs/night: age => 4w }cron { /usr/bin/make: hour => 4, minute => 30 }exec { /usr/bin/make: creates => /usr/bin/a.out }host { example.com: ip => 127.0.0.1 }interface { ... }router { ... }mailalias { ... }mount { ... }sshkey { ... }ssh_authorized_key { ... }...
  • 만들어 쓰는 리소스define apache::vhost ($port, $docroot, $servername, $vhost_name = *) { include apache include apache::params $vhost_dir = $apache::params::vhost_dir file { "${vhost_dir}/${servername}.conf": content => template(apache/vhost.conf.erb), require => Package[httpd], notify => Service[httpd], }}apache::vhost { homepages: port => 8081, docroot => /var/www-testhost,}
  • 클래스# directory layoutclass colatech::bros { File { owner => bigboy, group => bigbros, ensure => directory } file { /music/dance: ; /dance:ensure => link, target => /music/dance; /dance/program: ; /dance/logs: ; /dance/resources: ; /dance/service: ; }}
  • 클래스# bigboy user for guardclass colatech::guard::bigboy { group { bigbros: ensure => present } user { bigboy: ensure => present, gid => bigbros, home => /bigboy, shell => /bin/bash, } file { /bigbros: ensure => directory, owner => bigboy, group => bigbros, }}
  • 노드node default { include colatech::puppetagent}node colatech-gate-pool1 inherits default { include colatech::guard}node colatech-gate-pool2 inherits default { include colatech::guard include colatech::cctv}node /^colatech-dance-poold+$/ inherits default { include colatech::hooker include colatech::dancer}
  • Puppet Forge
  • 서버 설정도 공유?node default { include bigbros::hookd}node new-service inherits default { include bigboy::guard include dancer::dress}node new-service-test inherits new-service { include my::nightly-party}
  • 정말 좋아요?
  • 그들이 언급하는 이점Scale at Availability Security Auditability Speed
  • 이점설정의 테스트 확장성 리포팅모듈화 가능성 실수 없이 정확하고 빠른 대응
  • RC2 확장 사례언제 얼만큼이나 ?증설하게 될 지 모른다는 걱정 100 68 48 0 12월 2월 3월 ?
  • RC2 확장 사례 설정 수정서비스 배포 결과 확인 가상 머신
  • RC2 확장 사례node cache-pool-test inherits default { include colatech::guard::bigboy include colatech::dance class { colatech::dancer: rc3host => localhost }}node colatech-dance-pool-stage inherits default { class { colatech::dancer: rc3host => dance.cloud.xx }}node colatech-dance-pool inherits default { class { colatech::dancer: rc3host => pro.dance.cloud.xx }}
  • RC2 확장 사례$ ssh new-host "apt-get install puppet && puppet agent"$ cap deploy$ curl new-host
  • 요약 은 설정 관리 소프트웨어고유한 설정 명세 언어를 바탕으로자원을 체계적으로 구성 및 관리빠르게 변화하는 환경하에정확하고 민첩한 대처를 위한 도구