Configurazione di una macchina con Puppet Masterless

From RVM Wiki
Revision as of 11:04, 9 March 2020 by Gabriele.vivinetto (talk | contribs) (Created page with "* Installare puppet wget -O /tmp/puppet6-release-$(lsb_release -c | cut -f 2).deb https://apt.puppetlabs.com/puppet6-release-$(lsb_release -c | cut -f 2).deb && \ sudo dpkg...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • Installare puppet
wget -O /tmp/puppet6-release-$(lsb_release -c | cut -f 2).deb https://apt.puppetlabs.com/puppet6-release-$(lsb_release -c | cut -f 2).deb && \
sudo dpkg -i /tmp/puppet6-release-$(lsb_release -c | cut -f 2).deb && \
apt-get update && \
apt-get install puppet-agent
  • Disabilitare il servizio:
systemctl disable puppet.service
  • Aggiungere il PATH:
echo "PATH="${PATH}":/opt/puppetlabs/bin" >> ~/.bash_profile
bash ~/.bash_profile
which puppet
/opt/puppetlabs/bin/puppet


  • Creare un modulo di test:
cd /etc/puppetlabs/code/environments/production
mkdir -p ./modules/foo/files/
echo "hello world" > ./modules/foo/files/hello
mkdir -p ./modules/foo/manifests/
touch ./modules/foo/manifests/init.pp
mkdir -p ./manifests/
echo "include foo" > ./manifests/site.pp
cat > ./modules/foo/manifests/init.pp <<EOFile
class foo {
  file { "/tmp/hello":
    ensure => file,
    source => "puppet:///modules/foo/hello",
  }
}
EOFile
  • Testare:
puppet apply --test --modulepath ./modules ./manifests/site.pp
  • Verificare se il file è stato creato:
cat /tmp/hello 
hello world
  • Ora si possono creare i moduli necessari e dichiararli in site.pp
  • L'applicazione viene fatta one shot con
puppet apply --test /etc/puppetlabs/code/environments/production/manifests/site.pp
  • O per comodità:
alias papply='puppet apply --test /etc/puppetlabs/code/environments/production/manifests/site.pp $@'
papply

=Riferimenti