Esempi di manifesti di marionette
In questo articolo descriveremo diversi tipi di manifest per diverse piattaforme. e non dimenticare di seguire i link sottostanti per vedere come installare Puppet Master e Agent.
ci sono molti esempi da trovare in rete. Ti mostriamo alcune cose iniziali che possono rendere i tuoi test facili e di successo
Imposta proprietario e autorizzazione per il file /etc/passwd:
file { "/etc/passwd":
proprietario => “root”,
gruppo => “ruota”,
modalità => 664,
}
Installa l'ultima versione di Samba:
pacchetto { “samba”:
assicurati => più recente
}
Aggiungi nuovi repository yum per tutti i server in cui veniva utilizzato yum:
[root@pupmaster ~]# cat /etc/puppet/manifests/nodes/yums.pp
repository delle classi {
yumrepo { “webtatic”:
descr => “webtatic”,
baseurl => “https://mirror.webtatic.com/yum/el7/webtatic-release.rpm”,
metodo di failover => “priorità”,
gpgcheck => “0”,
abilitato => “1”;
}
yumrepo { “epel”:
descr => “epel-release”,
baseurl => “http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm”,
metodo di failover => “priorità”,
gpgcheck => “0”,
abilitato => “1”;
}
yumrepo { “remi”:
descr => “remi-release”,
baseurl => “http://rpms.famillecollet.com/enterprise/remi-release-7.rpm”,
metodo di failover => “priorità”,
gpgcheck => “0”,
abilitato => “1”;
}
}
includi repository
Condizione per installare i pacchetti su tutti i CentOS(pacchetto: httpd):
[root@pupmaster nodes]# cat /etc/puppet/manifests/nodes/centosgroup.pp
classe httpd {
if $::operatingsystem == 'CentOS' {
pacchetto { “httpd”:
assicurati => più recente
}
}
}
nodo "pupnode1.unixmen.com" {
include httpd
}
nodo "pupnode2.unixmen.com" {
include httpd
}
nodo "pupnode3.unixmen.com" {
include httpd
}
nodo "pupnode4.unixmen.com" {
include httpd
}
Condizione per installare o rimuovere pacchetti su tutti i server FreeBSD (pacchetto: apache24):
[root@pupmaster nodes]# cat /etc/puppet/manifests/nodes/fbgroup.pp
classe apache24 {
if $::operatingsystem == 'FreeBSD' {
pacchetto {
“apache24”:
fornitore => pkgng,
assicurati => presente;
# Per rimuovere utilizzare la seguente riga:
# aware => “assente”
}
}
}
nodo "pupnode7.unixmen.com" {
include apache24
}
nodo "pupnode8.unixmen.com" {
include apache24
}
nodo "pupnode9.unixmen.com" {
include apache24
}
Condizione per installare i pacchetti su tutti gli Ubuntu (pacchetto: apache2):
[root@pupmaster nodes]# cat /etc/puppet/manifests/nodes/ubuntugroup.pp
classe apache {
if $::sistema operativo == "Ubuntu" {
pacchetto { “apache2”:
assicurati => più recente
}
}
}
nodo "pupnode5.unixmen.com" {
include apache
}
nodo "pupnode6.unixmen.com" {
include apache
}
Il nostro scopo è sincronizzare una cartella selezionata dal nostro server Puppet Master al nostro nodo client.
Per questo dobbiamo aggiungere le seguenti righe nel file /etc/puppet/fileserver.conf del server principale (con questo abbiamo detto, la cartella del nostro file server è /etc/qovluq ):
[file]
percorso /etc/qovluq
consenti *
Dopo nel server principale crea il file /etc/puppet/manifests/nodes/foldsync.pp e aggiungi le seguenti righe al contenuto di questo file (con queste righe abbiamo detto, sincronizza tutto dal percorso denominato è file nel nostro server principale nella cartella /etc/qovluq per tutti i nodi):
file {'/etc/qovluq':
assicurati => directory,
ricorsivo => vero,
elimina => vero,
forza => vero,
source => "puppet:///files",
}
Installa Puppet master
http://www.unixmen.com/puppet-installation-and-configuration-to-centos-7-x64/
Installa Puppet Agent
http://www.unixmen.com/puppet-agent-install-and-configure-to-all-linuxunix/