• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
puppet @techlifecookpad
 

puppet @techlifecookpad

on

  • 4,010 views

techlife cookpad lighting talk - puppet -

techlife cookpad lighting talk - puppet -

Statistics

Views

Total Views
4,010
Views on SlideShare
3,796
Embed Views
214

Actions

Likes
3
Downloads
52
Comments
0

3 Embeds 214

http://www.sssg.org 205
https://hatenainfra.g.hatena.ne.jp 5
http://webcache.googleusercontent.com 4

Accessibility

Upload Details

Uploaded via as Apple Keynote

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 @techlifecookpad puppet @techlifecookpad Presentation Transcript

    • puppet + cobbler Naoya Nakazawa @techlifecookpad 2009/12/3
    • About me • • • id:n0ts • : Carpe Diem • http://www.sssg.org/blogs/naoya/
    • Motivation • • • •
    • Hardware •D 1U • 30 1 • 6
    • Software • CentOS 5.x x86_64 • Puppet 0.24.7 • Cobbler 1.6.4
    • • https://fedorahosted.org/cobbler/ • •
    • Manage Server • puppetmaster+cobblerd • Manage puppet • yum
    • How to set up my servers
    • 0 1) 2) 3)
    • 1 1. 2. BIOS/IPMI • PXE 3. eth0 MAC 4. PXE pause
    • 2 1. manage manifest 2. manage puppetrun cobbler_add_system_base { "s1": mac1 => "xx:xx:xx:xx:xx:xx", xen_domu_num => 3, }
    • 3 • puppet manifest • PXE
    • 4 • • 10 20 • SSH
    • Tips & Tricks
    • puppetd at kickstart • %post puppet #if $hostname /usr/sbin/puppetd --fqdn "$hostname" --logdest /root/puppet.log --verbose --no-daemonize --onetime --report #end if
    • koan • • Xen, KVM,VMWare • cobbler
    • koan at kickstart 1 • /etc/rc.local koan Xen DomU • cobbler system cobbler_add_system_web { "s1-u1": } cobbler_add_system_lvs { "s1-u2": } cobbler_add_system_dbm { "s1-u3": }
    • koan at kickstart 2 #set $xen_domu_num = $int($getVar('$xen_domu_num', 0)) #if $hostname != "" and $xen_domu_num > 0 /bin/cat << EOF >> /etc/rc.local FACTER=/usr/bin/facter if [ -x $FACTER ]; then VIRTUAL=`$FACTER virtual` if [ $VIRTUAL == "xen0" ]; then EOF #for $i in $range(1, $xen_domu_num + 1) /bin/cat << EOF >> /etc/rc.local if [ ! -f /etc/xen/`/bin/hostname -s`-u$i ]; then sleep 10 /usr/bin/koan --server=cobbler.`/bin/hostname -d` --system=`/bin/hostname -s`-u$i --virt --nogfx ln -s /etc/xen/`/bin/hostname -s`-u$i /etc/xen/auto/`/bin/hostname -s`-u$i fi EOF #end for /bin/cat << EOF >> /etc/rc.local fi fi EOF #end if
    • matrix 1 • DSAS like MATRIX s1: s1-u1: hoge_web s1-u2: hoge_lvs s1-u3: hoge_dbm
    • matrix 2 • matrix puppet node $ ./tools/puppet_node.rb ./nodes/matrix s1-u1.example.com --- parameters: classes: - hoge_web - puppet.conf - # An external command that can produce node information. external_nodes = "$confdir/tools/puppet_node.rb $confdir/nodes/matrix" # Where to find information about nodes. node_terminus = exec
    • facter • facter $ sudo facter -p bios_vendor DXXX Inc. class baseclass { if $bios_vendor == "DXXX Inc." { include dXXX } }
    • puppet directory tree • puppet • /etc/sysconfig/puppetmaster PUPPETMASTER_EXTRA_OPTS="--confdir=/hoge/puppet"
    • puppet module • Puppet Best Practices 2.0 http://reductivelabs.com/trac/puppet/wiki/PuppetBestPractice
    • my puppet module • CentOS • http://github.com/n0ts/puppet
    • Challenges • iptables • BIOS/IPMI • D • DomU
    • Puppet at Velocity • Velocity Puppet http://www.sssg.org/~naoya/puppet/project.html
    • Thank You!