Puppet

De Linuxmemo.

(Différences entre les versions)
(Utilisation du langage de configuration de Puppet)
(Utilisation du langage de configuration de Puppet)
Ligne 57 : Ligne 57 :
  Case Statements
  Case Statements
  Selectors
  Selectors
 +
*Lambda Blocks
==Utilisation==
==Utilisation==

Version du 22 avril 2016 à 10:22

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

Astuces

  • version
Outils personnels