This shows you the differences between two versions of the page.
|
saisp:labs:10:contents:01 [2014/01/21 19:22] alexandru.carp |
saisp:labs:10:contents:01 [2016/05/16 20:13] (current) alexandru.carp [01. [20p] Resurse Puppet] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 01. Resurse Puppet ==== | + | <note warning> |
| + | Pentru a avea acces la Internet din masina virtuala, rulati pe **masina fizica** comanda: | ||
| + | <code bash> | ||
| + | sudo iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE | ||
| + | </code> | ||
| + | </note> | ||
| + | |||
| + | ==== 01. [20p] Resurse Puppet ==== | ||
| + | |||
| + | **Puppet** este un tool pentru gestiunea configuratiei unui sistem. Pentru descrierea configuratiilor foloseste un limbaj declarativ. Puppet poate gestiona atat sisteme Linux, cat si Windows. | ||
| - | ===== Notiunea de "resursa" ===== | + | === Notiunea de "resursa" === |
| Puppet abstractizeaza majoritatea entitatilor din sistem prin **resurse**. De exemplu, fiecare serviciu, fie ca este pornit sau oprit, este vazut ca o resursa. | Puppet abstractizeaza majoritatea entitatilor din sistem prin **resurse**. De exemplu, fiecare serviciu, fie ca este pornit sau oprit, este vazut ca o resursa. | ||
| - | Folositi comanda ''puppet resource service'' pentru a inspecta serviciile de sistem din perspectiva Puppet: | + | Folositi comanda **''puppet resource service''** pentru a inspecta serviciile de sistem din perspectiva Puppet: |
| <code> | <code> | ||
| + | [root@learn ~]# puppet resource service | ||
| service { 'abrt-ccpp': | service { 'abrt-ccpp': | ||
| ensure => 'running', | ensure => 'running', | ||
| Line 24: | Line 34: | ||
| enable => 'true', | enable => 'true', | ||
| } | } | ||
| + | ... | ||
| </code> | </code> | ||
| Line 36: | Line 47: | ||
| * pachete (software) | * pachete (software) | ||
| - | ===== Structura unei resurse ===== | + | === Structura unei resurse === |
| - | Sa consideram resursa ce descrie contul utilizatorului **root**: | + | Afisati resursa ce descrie contul utilizatorului **root**, folosind comanda **''puppet resource user root''**. |
| <code> | <code> | ||
| [root@learn ~]# puppet resource user root | [root@learn ~]# puppet resource user root | ||
| Line 61: | Line 72: | ||
| Sintaxa de mai sus constituie "declararea unei resurse". | Sintaxa de mai sus constituie "declararea unei resurse". | ||
| - | ===== Tipuri de resurse ===== | + | === Tipuri de resurse === |
| - | In afara de servicii si utilizatori, Puppet implementeaza multe alte tipuri de resurse. Pentru a le lista, folositi comanda ''puppet describe --list'': | + | In afara de servicii si utilizatori, Puppet implementeaza multe alte tipuri de resurse. Pentru a le lista, folositi comanda ''puppet describe --list'':<code> |
| - | + | ||
| - | <code> | + | |
| [root@learn ~]# puppet describe --list | [root@learn ~]# puppet describe --list | ||
| These are the types known to puppet: | These are the types known to puppet: | ||
| Line 82: | Line 91: | ||
| </code> | </code> | ||
| - | ===== Crearea / stergerea manuala a unei resurse ===== | + | === Crearea / stergerea manuala a unei resurse === |
| Folosind comanda ''puppet resource'' putem crea si resurse noi. Sintaxa generala este: | Folosind comanda ''puppet resource'' putem crea si resurse noi. Sintaxa generala este: | ||
| Line 92: | Line 101: | ||
| * sa aiba ca shell default **/bin/sh**. | * sa aiba ca shell default **/bin/sh**. | ||
| - | Comanda Puppet corespunzatoare este: | + | Comanda Puppet corespunzatoare este:<code> |
| - | <code> | + | |
| [root@learn ~]# puppet resource user gigel ensure=present shell="/bin/sh" home="/home/gigel" | [root@learn ~]# puppet resource user gigel ensure=present shell="/bin/sh" home="/home/gigel" | ||
| Notice: /User[gigel]/ensure: created | Notice: /User[gigel]/ensure: created | ||
| Line 107: | Line 115: | ||
| Pentru a sterge o resursa, atributul **ensure** al acesteia trebuie setat la valoarea **absent**. | Pentru a sterge o resursa, atributul **ensure** al acesteia trebuie setat la valoarea **absent**. | ||
| - | De exemplu, pentru a sterge utilizatorul **gigel** creat anterior: | + | De exemplu, pentru a sterge utilizatorul **gigel** creat anterior: <code> |
| - | + | ||
| - | <code> | + | |
| [root@learn ~]# puppet resource user gigel ensure=absent | [root@learn ~]# puppet resource user gigel ensure=absent | ||
| Notice: /User[gigel]/ensure: removed | Notice: /User[gigel]/ensure: removed | ||