SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Chef
budapest.rb 2010. május
Vészi Gábor (veszig)
mail: veszig@done.hu
 web: well.done.hu
  munka: ezit.hu
chef: konfiguráció
menedzsment rendszer
  (configuration management)
mindenki mást ért
    alatta...
szerver




kliens
szerver


x vagyok,              y állapotban
mi legyen?             kell lenned



             kliens
központilag definiáljuk
 a szervereink kívánt
       állapotát
deklaratív, nem
     imperatív
azt definiáljuk, mit akarunk,
      nem azt, hogyan
milyen programok
legyenek fent a gépen
ezeknek milyen
beállításaik legyenek
milyen felhasználóink
      legyenek
milyen szolgáltatások
      fussanak
stb
mindent
sosem kell belépnünk
 rendszergazdaként a
  gépekre, mindent
központilag irányítunk
(elméletileg)
reprodukálható
   rendszerek
skálázás, disaster recovery,
     teszt környezetek
homogén rendszerek,
     megszűnik a
 “configuration drift”
(mikor minden rendszert különbözően
         “gányolunk” össze)
dokumentálja a
 rendszereket
open source
alternatívák
#!/bin/bash
for HOST in foo bar baz ; do
  ssh $HOST sudo ~/hacks/ugly.sh
done
cfengine
puppet
chef
chef-solo
szerver nélkül
chef-solo -r http://foo/cookbooks.tgz 
  -j http://foo/nodes/$HOSTNAME.json
chef-server
REST API (CouchDB, RabbitMQ, Solr)
knife
parancssoros kliens chef-server API-hoz
$ knife node list
[
  "alpha.done.hu",
  "bravo.done.hu"
]
chef-webui
      ugyanazt az API-t használja,
mint a knife, igazi férfiak nem használják
hogyan definiálhatjuk,
mit szeretnénk látni a
     klienseken?
       (dióhéjban)
amit a kliens értelmez:
      ruby + DSL
resource-ok:
package, template,
  service, user...
 (ha valamire esetleg nincs
 resource, könnyű újat írni)
package "sudo"
template "/etc/sudoers" do
  source "sudoers.erb"
  owner "root"
  group "root"
  mode "0400"
  variables(
    :sudo_groups => ['wheel'],
    :sudo_users => ['veszig']
  )
end
ohai
$ ohai platform
[
  "gentoo"
]
packages = case node[:platform]
  when "centos","redhat","fedora"
    ["openssh-clients","openssh"]
  when "gentoo"
    ["openssh"]
  else
    ["openssh-client","openssh-server"]
  end

packages.each { |p| package p }
keresés
hosts = {}
search(:node, "*:*") do |n|
  hosts[n[:ipaddress]] =
    [n[:hostname], n[:fqdn]]
end

template "/etc/hosts" do
  source "hosts.erb"
  variables(:hosts => hosts)
end
data bags
data_bag("hosts").each { |id|
  item = data_bag_item("hosts", id)
  hosts[item["ip"]] ||= []
  hosts[item["ip"]] += item["hosts"]
}
Demo
“rendszergazda API” a
teljes infrastruktúrához
      (automatizálás)
rendszer absztrakció
(elfedi a rendszerek különbségeit)
megosztható
cookbookok
code driven
infrastructure
tipográfus → word+titkárnő
rendszergazda → chef+fejlesztő
throw away resources
       (cloud)
kísérletezgetés
nem feltétlenül van
mindenhol értelme
köszönöm a figyelmet!
     kérdések?
   http://wiki.opscode.com
  http://github.com/opscode
 irc://irc.freenode.net/#chef

Mais conteúdo relacionado

Destaque

XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésGyörgy Balássy
 
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkelDATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkelBalaBit
 
Behavior Driven Development Specflow-val
Behavior Driven Development Specflow-valBehavior Driven Development Specflow-val
Behavior Driven Development Specflow-valTamás Árpád
 
superbowl-140214090314-phpapp01
superbowl-140214090314-phpapp01superbowl-140214090314-phpapp01
superbowl-140214090314-phpapp01Balázs Rényi
 
RÉNYI_BALÁZS_social_data_HVG
RÉNYI_BALÁZS_social_data_HVGRÉNYI_BALÁZS_social_data_HVG
RÉNYI_BALÁZS_social_data_HVGBalázs Rényi
 
Szabó Zoltán: Digitális Üzleti Átalakulás
Szabó Zoltán: Digitális Üzleti ÁtalakulásSzabó Zoltán: Digitális Üzleti Átalakulás
Szabó Zoltán: Digitális Üzleti ÁtalakulásInformatikai Intézet
 

Destaque (7)

XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztés
 
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkelDATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
DATA DRIVEN DESIGN - avagy hogy fér össze a kreativitás a tényekkel
 
Inbound marketing
Inbound marketingInbound marketing
Inbound marketing
 
Behavior Driven Development Specflow-val
Behavior Driven Development Specflow-valBehavior Driven Development Specflow-val
Behavior Driven Development Specflow-val
 
superbowl-140214090314-phpapp01
superbowl-140214090314-phpapp01superbowl-140214090314-phpapp01
superbowl-140214090314-phpapp01
 
RÉNYI_BALÁZS_social_data_HVG
RÉNYI_BALÁZS_social_data_HVGRÉNYI_BALÁZS_social_data_HVG
RÉNYI_BALÁZS_social_data_HVG
 
Szabó Zoltán: Digitális Üzleti Átalakulás
Szabó Zoltán: Digitális Üzleti ÁtalakulásSzabó Zoltán: Digitális Üzleti Átalakulás
Szabó Zoltán: Digitális Üzleti Átalakulás
 

Semelhante a Chef

Magyar érettségi Linux kialakítása
Magyar érettségi Linux kialakításaMagyar érettségi Linux kialakítása
Magyar érettségi Linux kialakításaKálmán Kéménczy
 
Fejlesszünk okosan, közösen
Fejlesszünk okosan, közösenFejlesszünk okosan, közösen
Fejlesszünk okosan, közösenÁkos Gábriel
 
A PHP 5.4 újdonságai
A PHP 5.4 újdonságaiA PHP 5.4 újdonságai
A PHP 5.4 újdonságaiFerenc Kovács
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Open Academy
 
01 operacios rendszer celja es fogalma
01   operacios rendszer celja es fogalma01   operacios rendszer celja es fogalma
01 operacios rendszer celja es fogalmaKovacZolt
 
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonVirtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonFerenc Szalai
 
Operációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrájaOperációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrájarma96
 
Operációs rendszer
Operációs rendszerOperációs rendszer
Operációs rendszerrma96
 
Pihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velPihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velBalint Erdi
 
Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Balint Erdi
 
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessorLevente Kiraly
 

Semelhante a Chef (17)

Drupal security
Drupal securityDrupal security
Drupal security
 
Laravel for Dummies
Laravel for DummiesLaravel for Dummies
Laravel for Dummies
 
Hello Laravel 5!
Hello Laravel 5!Hello Laravel 5!
Hello Laravel 5!
 
Sles admin
Sles adminSles admin
Sles admin
 
Magyar érettségi Linux kialakítása
Magyar érettségi Linux kialakításaMagyar érettségi Linux kialakítása
Magyar érettségi Linux kialakítása
 
Fejlesszünk okosan, közösen
Fejlesszünk okosan, közösenFejlesszünk okosan, közösen
Fejlesszünk okosan, közösen
 
Linux alapok
Linux alapokLinux alapok
Linux alapok
 
A PHP 5.4 újdonságai
A PHP 5.4 újdonságaiA PHP 5.4 újdonságai
A PHP 5.4 újdonságai
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
 
01 operacios rendszer celja es fogalma
01   operacios rendszer celja es fogalma01   operacios rendszer celja es fogalma
01 operacios rendszer celja es fogalma
 
A forditonak mindenhez lehet köze
A forditonak mindenhez lehet közeA forditonak mindenhez lehet köze
A forditonak mindenhez lehet köze
 
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokonVirtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
Virtualizált szolgáltatás platform kialakítása Xen és AoE alapokon
 
Operációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrájaOperációs rendszerek belső architektúrája
Operációs rendszerek belső architektúrája
 
Operációs rendszer
Operációs rendszerOperációs rendszer
Operációs rendszer
 
Pihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-velPihi CouchDB-vel és RelaxDB-vel
Pihi CouchDB-vel és RelaxDB-vel
 
Couchdb - WebKonf 2009
Couchdb - WebKonf 2009Couchdb - WebKonf 2009
Couchdb - WebKonf 2009
 
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessor
 

Chef