A Virtualizáció esete a Puppettal

810 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
810
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

A Virtualizáció esete a Puppettal

  1. 1. A Puppet és a Virtualizáció @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  2. 2. Mit csinál a Neticle? @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  3. 3. Szövegelemzés @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  4. 4. Trendfigyelés @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  5. 5. Partnereink @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  6. 6. Miről lesz ma szó? ● A virtualizálás problémája? ● Miben segít a konfiguráció-menedzsment? ● Mit tud a Puppet? ● A Puppet alapjai ● Puppet üzemeltetés ● Bónusz @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  7. 7. Régen @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  8. 8. Most @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  9. 9. Az automatizáció segít @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  10. 10. Röviden a Puppetről ● Saját nyelv (DSL) ● Több féle üzemeltetési módot támogat ● Kiváló dokumentáció ● Multiplatform (Windows is) ● Open Source, support a PuppetLabs @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  11. 11. Tipusok ● File erőforrás: file { "/etc/sudoers": ensure => present, mode => 0644, source => "puppet:///modules/sudo/sudoers"; } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  12. 12. Tipusok ● User erőforrás létrehozása: user { "janoszen": ensure password uid gid shell } @janoszen => => => => => present, "*", 1000, 1000, "/bin/bash"; www.janoszen.com @neticle_hu www.neticle.hu
  13. 13. Tipusok ● Csomag telepítése: package { "mc": ensure } @janoszen => present; www.janoszen.com @neticle_hu www.neticle.hu
  14. 14. További beépített tipusok ● Exec ● Nagios ● Hosts file ● Mount ● Service ● És még rengeteg egyéb: http://docs.puppetlabs.com/references/latest/type.html @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  15. 15. Saját tipusok define users::account( $password = "*", $sshkeys = [], $ensure = "present" ) { user { $name: ensure => $ensure, password => $password } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  16. 16. Saját tipusok file { "/home/${name}/.ssh/authorized_keys": ensure => $ensure, owner => $name, content => template( "modules/users/authorized_keys.erb" ), require => User[$name]; } } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  17. 17. Osztályok ● Resource-ok gyűjteménye, hasonlít a define-ra. ● Egy osztályból csak egy lehet! class server { } class server::db inherits server { } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  18. 18. Osztályok használata include server::db vagy class { "server::db": ; } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  19. 19. Paraméterezett osztályok class uptrack ( $accesskey ) { } class { "uptrack": accesskey => ""; } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  20. 20. Node classification ● Hostnév alapján: node /^db([d]+)./ { include server::db } ● Külső forrásból (LDAP, MySQL, stb): http://docs.puppetlabs.com/guides/external_nodes.html @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  21. 21. Facter – A gép tulajdonságai ● Hostname, domain, FQDN, IP cím ● Operációs rendszer, release ● Kernel verzió ● is_virtual ● Szabadon bővíthető minimális Ruby tudással. @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  22. 22. Puppet futtatás ● Standalone (puppet apply) ● Puppetmaster ● Mcollective @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  23. 23. Standalone használat ● ● Létrehozunk egy puppet könyvtárat (jellemzően git clone) Lefuttatjuk a site.pp filet: puppet apply "/etc/puppet/manifests/site.pp" @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  24. 24. Puppetmaster ● Központi helyen készített manifestek ● Reportok gyűjtése ● Dashboard ● Gépek közötti összefüggések (exportált erőforrások) @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  25. 25. Puppet agent ● Szereti a RAM-ot ● Ezért érdemes cronból futtatni @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  26. 26. Exportált erőforrások @@nagios_service { "${hostname}-http": use check_command service_description host_name notify tag } @janoszen => => => => => => "generic-service", "check_http_alive", "HTTP Connectivity", "${hostname}", Service['icinga'], "monitor01"; www.janoszen.com @neticle_hu www.neticle.hu
  27. 27. Erőforrások importálása Nagios_service <<| tag == "${hostname}" |>> ● Bővebben: http://docs.puppetlabs.com/puppet/latest/reference/lang_ exported.html @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  28. 28. Mcollective ● ● Masszív méretű deploymentek (több ezer node) esetén érdekes. Nem tárgyaljuk. @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  29. 29. Bónusz @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  30. 30. Hiera - az adattároló ● Elkülöníti az értékeket a konfigurációtól. ● YAML, JSON vagy egyéni backend ● Példa: network: eth0: auto: address: netmask: broadcast: gateway: @janoszen true 188.227.224.3 255.255.224.0 188.227.224.15 188.227.224.14 www.janoszen.com @neticle_hu www.neticle.hu
  31. 31. Hiera használat ● Egyszerű adattömb lekérdezés: $valtozo = hiera('kulcs') ● Erőforrások ciklikus létrehozása: $myvhosts = hiera('apache::vhosts') create_resources('apache::vhost', $myvhosts) @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  32. 32. Augeas ● Konfigurációs fájlok hierarchikus címzése. augeas { "test1": context => "/files/etc/sysconfig/firstboot", changes => "set RUN_FIRSTBOOT YES", onlyif => "match other_value size > 0", } @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  33. 33. Puppet Forge ● Kész Puppet modulok tömkelege. puppet module install puppetlabs-apache --version 0.0.2 ● Óvatosan! @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  34. 34. Demo https://github.com/neticletechnologies/puppet-demo @janoszen www.janoszen.com @neticle_hu www.neticle.hu
  35. 35. Stalking lehetőségek Pásztor János Neticle Technologies www.janoszen.com blog.neticle.hu @janoszen @neticle_hu fb.com/janoszen fb.com/neticle youtube.com /user/janoszen Ikonok: http://www.iconarchive.com/show/social-networks-pro-icons-by-artbees.html @janoszen www.janoszen.com @neticle_hu www.neticle.hu

×