Configurazione di una macchina con Puppet Masterless: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
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..."
 
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
* Installare puppet
* Installare puppet
 
apt-get install wget lsb-release && \
  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 && \
  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 && \
  sudo dpkg -i /tmp/puppet6-release-$(lsb_release -c | cut -f 2).deb && \
Line 10: Line 10:


* Aggiungere il PATH:
* Aggiungere il PATH:
  echo "PATH="${PATH}":/opt/puppetlabs/bin" >> ~/.bash_profile
  echo 'PATH="${PATH}":/opt/puppetlabs/bin' >> ~/.bash_profile
  bash ~/.bash_profile
  bash ~/.bash_profile
  which puppet
  which puppet
Line 53: Line 53:
  papply
  papply


=Riferimenti
=Riferimenti=
*[https://janikvonrotz.ch/2018/12/08/puppet-masterless-project-setup-guide/ Janik Vonrotz - Puppet masterless project setup guide]
*[https://janikvonrotz.ch/2018/12/08/puppet-masterless-project-setup-guide/ Janik Vonrotz - Puppet masterless project setup guide]
*[https://puppet.com/docs/puppet/latest/services_apply.html Puppet apply | Puppet.com]
*[https://puppet.com/docs/puppet/latest/services_apply.html Puppet apply | Puppet.com]

Latest revision as of 17:17, 11 March 2020

  • Installare puppet
apt-get install wget lsb-release && \
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