3. construire (infra)
gérer (machines)
code (ruby)
INFRASTRUCTURE AS CODE ?
contexte
Tuesday, November 13, 12
4. - Framework Integration (cloud IaaS)
- Configuration Management
- Infrastructure API
CHEF
101
Tuesday, November 13, 12
5. -Ubuntu / Debian
- RHEL / CentOS / Fedora
- Solaris (Sparc / x86 / x64)
- MacOS X
- Windows Vista/7/2k3/2k8
- FreeBSD/SuSE/OpenSolaris/Gentoo
- etc.
CHEF
ruby everywhere
Tuesday, November 13, 12
6. CHEF-CLIENT
sur chaque système
Tuesday, November 13, 12
7. CHEF-CLIENT
échange avec un chef-server
Tuesday, November 13, 12
8. CHEF-CLIENT
ou chef-solo en standalone
Tuesday, November 13, 12
9. NODE
Un système géré par Chef est un “node”
Tuesday, November 13, 12
10. NODE
les “nodes” ont des attributs
Tuesday, November 13, 12
11. knife search node 'platform:ubuntu'
knife search node 'chef_environment:dev'
search(:node, ‘platform:ubuntu’)
ATTRIBUTS
les attributs sont cherchables
Tuesday, November 13, 12
12. RUN LIST
“roles” et “recipes” pour un “node”
Tuesday, November 13, 12
13. ROLES
un “node” a un ou plusieurs “roles”
decrivant ce que ce “node” est censé faire
Tuesday, November 13, 12
14. knife search role 'cluster:true'
ROLES
Les roles sont cherchables
Tuesday, November 13, 12
15. - type
- nom
- paramètres
- actions
RESOURCES
Chef gère des “resources” sur les nodes
Tuesday, November 13, 12
16. RESOURCES
décrivent de l’état dans lequel on veut cette partie de l’infra
Tuesday, November 13, 12
17. PROVIDERS
savent comment faire l’action décrite par une “resource”
Tuesday, November 13, 12
18. RECIPES
les “recipes” sont une liste de “resources”
appliquées dans l’ordre
Tuesday, November 13, 12
19. - distribuables et partageables
- versionnables (git & co)
- au coeur de l’infrastructure as code
COOKBOOKS
les “cookbooks” sont des “packages” de “recipes”
Tuesday, November 13, 12
22. - data
- indépendantes (roles/nodes)
- disponibles globalement
- indexées / cherchables
DATA BAGS
quoi
Tuesday, November 13, 12
23. - data
- indépendantes (roles/nodes)
- disponibles globalement
- indexées / cherchables
DATA BAGS
json
Tuesday, November 13, 12
24. - production / dev
- une seule config
- specificités par env
- run_lists
- cookbook versions
- attributes
ENVIRONNEMENTS
quoi
Tuesday, November 13, 12