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 |