This shows you the differences between two versions of the page.
|
saisp:labs:10:contents:02 [2014/01/31 15:43] alexandru.carp |
saisp:labs:10:contents:02 [2014/05/12 16:55] (current) alexandru.carp |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 02. Manifeste Puppet ==== | + | ==== 02. [20p] Manifeste Puppet ==== |
| Cu toate ca putem crea, modifica sau sterge resurse folosind comenzi de tip ''puppet resource'', aceasta nu este o solutie potrivita pentru situatii complexe. | Cu toate ca putem crea, modifica sau sterge resurse folosind comenzi de tip ''puppet resource'', aceasta nu este o solutie potrivita pentru situatii complexe. | ||
| Line 65: | Line 65: | ||
| Observati ca daca atributele resursei difera de cele descrise in manifest, aplicarea manifestului readuce resursa in starea dorita. | Observati ca daca atributele resursei difera de cele descrise in manifest, aplicarea manifestului readuce resursa in starea dorita. | ||
| - | === (Exercitiu) Stari (ensure) === | + | === Stari (ensure) === |
| Atributul **ensure** specifica de cele mai multe ori daca resursa: | Atributul **ensure** specifica de cele mai multe ori daca resursa: | ||
| Line 71: | Line 71: | ||
| * trebuie sa NU existe (ensure => absent). | * trebuie sa NU existe (ensure => absent). | ||
| - | Unele tipuri de resurse definesc stari aditionale pentru acest atribut. Resursele de tip **file** pot avea, in plus, urmatoarele valori: | + | Unele tipuri de resurse definesc stari aditionale pentru acest atribut. Resursele de tip **file** pot avea, in plus, urmatoarele valori pentru **ensure**: |
| * directory | * directory | ||
| * link | * link | ||
| Line 78: | Line 78: | ||
| Definiti un manifest care sa creeze un link simbolic la fisierul **/tmp/my_file**. | Definiti un manifest care sa creeze un link simbolic la fisierul **/tmp/my_file**. | ||
| - | **Hint:** Resursa trebuie sa aiba si atributul **target**. | + | <note important> |
| + | Resursa trebuie sa aiba si atributul **target**. | ||
| + | </note> | ||
| - | === (Exercitiu) Cheie autorizata SSH === | + | <note> |
| + | Folositi documentatia Puppet pentru tipul de resursa **file**: [[http://docs.puppetlabs.com/references/stable/type.html#file]] | ||
| + | </note> | ||
| + | |||
| + | <solution -hidden> | ||
| + | <code> | ||
| + | file {'my_link': | ||
| + | target => '/tmp/my_file', | ||
| + | ensure => link, | ||
| + | } | ||
| + | </code> | ||
| + | </solution> | ||
| + | |||
| + | === Cheie autorizata SSH === | ||
| Intr-un manifest, definiti o resursa de tip "cheie autorizata SSH". | Intr-un manifest, definiti o resursa de tip "cheie autorizata SSH". | ||
| Line 87: | Line 102: | ||
| <note important> | <note important> | ||
| - | Perechea de chei pentru utilizatorul **student** trebuie generata in prealabil. | + | Daca nu exista, perechea de chei pentru utilizatorul **student** trebuie generata in prealabil. |
| + | |||
| + | Apoi, rulati comanda ''ssh-add ~/.ssh.id_rsa'' pe masina fizica, din contul ''student''. | ||
| </note> | </note> | ||
| <note> | <note> | ||
| - | Folositi documentatia Puppet pentru tipurile de resurse: [[http://docs.puppetlabs.com/references/stable/type.html#sshauthorizedkey]] | + | Folositi documentatia Puppet pentru tipul de resursa **sshauthorizedkey**: [[http://docs.puppetlabs.com/references/stable/type.html#sshauthorizedkey]] |
| </note> | </note> | ||
| + | |||
| + | <solution -hidden> | ||
| + | <code> | ||
| + | ssh_authorized_key { 'my_ssh_key': | ||
| + | ensure => present, | ||
| + | key => "AAAAB3NzaC1yc2EAAAADAQABAAABAQDa8Op62ZBUpLHRFsLW9rbQMzDBUe8VLomIfV4ELqzN7B6Nu+8A9wd+PPKoAy3CM7PNWZ+T8LlPt+1iQB5iyUzN0t15auP2kRQJej6FQnyh96p2VFB+xG+jSepWcgDs5Lg+z+p4N20gHcpQwQX1+RtJ4W5n5ywWLJ4RETBCouw0H7CS01/27HcS8zt5xRSAeD0XW1KWEluC6xhXqeYyCEHaXVnWFONDAzvX5ydKMzbmaO0GNmHDyDLjLQJJtor8kI7qq9OeQuXQZcON2oFD51fUzM/5agwqTZlP19kjBTroNC7vNbALyP+2b/alJLke1qLGI20U+zwd5YId5sg/+KUt", | ||
| + | type => "ssh-rsa", | ||
| + | user => "root", | ||
| + | } | ||
| + | </code> | ||
| + | </solution> | ||