Puppet

De Linuxmemo.

(Différences entre les versions)
(Modules)
(Modules)
Ligne 65 : Ligne 65 :
https://forge.example.com/
https://forge.example.com/
  puppet module search apache
  puppet module search apache
 +
puppet module install puppetlabs-stdlib
 +
  build        Build a module release package.
 +
  changes      Show modified files of an installed module.
 +
  generate    Generate boilerplate for a new module.
 +
  install      Install a module from the Puppet Forge or a release archive.
 +
  list        List installed modules
 +
  search      Search the Puppet Forge for a module.
 +
  uninstall    Uninstall a puppet module.
 +
  upgrade      Upgrade a puppet module.
==Astuces==
==Astuces==
*version
*version

Version du 22 avril 2016 à 14:06

Sommaire

Master

sudo apt-get install puppetserver
  • Get the master’s names and certificates set up
vim /etc/puppet/puppet.conf
dns_alt_names = 
sudo puppet master --verbose --no-daemonize
  • Configure any necessary settings
  • Put your Puppet modules and manifests in place
  • Configure a production-ready web server
  • Configure load balancing and CA service routing if you’re using multiple masters
  • Start the puppet master service

Agent

sudo apt-get install puppet

Puppet manifest

block of the Puppet configuration language built-in resources

Users, Groups, Files, Hosts, Packages, Services,...and many more.

puppet resource --type #lister les type de ressouces

Déclaration de ressources

The format is always the same:

resource_type { 'resource_title':
  ensure     => present,         # usually 'present' or 'absent'
  attribute1 => 1234,            # number
  attribute2 => 'value',         # string
  attribute3 => ['red','blue'],  # array
  noop       => false,           # boolean
}

"resource_title" doit être unique. Si deux ressources porte le même nom, la deuxième de sera pas traitée. Il est possible de nommer une ressource "file" par le path entier du fichier.

Attributes (des ressources)

https://docs.puppet.com/puppet/latest/reference/type.html

Utilisation du langage de configuration de Puppet

  • Variables

Le nom: start with $ name must start with a lower case letter, and may contain lower case letters, numbers, and underscores.)

$myvar # valid
$MyVar # invalid
$my_var # valid
$my-var # invalid
$_myvar # invalid
$my3numbers # valid
$3numbers # invalid

La valeur:

Boolean $not_true = false
Integer $num_tokens = 115
String $my_name =  'Joe'
Array[Integer] $my_list = [1,4,7]
Array[String] [$first,$last] = ['Jo','Rhett']
Hash $key_pairs = {name => 'Joe', uid => 1001}
  • Conditional Operators
  • Regular Expressions
  • Conditional Expressions
If / Elsif / Else Statements
Unless / Else Statements
Case Statements
Selectors
  • Lambda Blocks

Utilisation

  • tester ses manifests

puppet apply /vagrant/manifests/helloworld.pp

Modules

https://forge.example.com/

puppet module search apache
puppet module install puppetlabs-stdlib
 build        Build a module release package.
 changes      Show modified files of an installed module.
 generate     Generate boilerplate for a new module.
 install      Install a module from the Puppet Forge or a release archive.
 list         List installed modules
 search       Search the Puppet Forge for a module.
 uninstall    Uninstall a puppet module.
 upgrade      Upgrade a puppet module.

Astuces

  • version
Outils personnels