Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tutorial Puppet

Tutorial Puppet

Tutorial dos conceitos básicos de Puppet, uma ferramenta de gestão automática de configuração de servidores.

A apresentação não está completa, pois foi usada como parte de um curso prático sobre Puppet.

Daniel Capo Sobral

June 26, 2012

Transcript

15 slides
  1. Conceitos • Resource • Type – User, File, Package •

    Name • Attributes • Meta Attributes • Classes • Definitions • Modules user { 'ze': ensure => present, gid => 1000, require => Group['ze'], }
  2. Exemplo Simples - Locales • Configurar locales em um servidor

    • Pacote locales • Arquivo /etc/default/locale • Arquivo /etc/locale.gen • Executar /usr/sbin/locale.gen • Código fonte em: • https://github.com/dcsobral/puppet-exemplo-locale
  3. Experimentando com a linha de Comando • ralsh puppet:~# ralsh

    user bob user { 'bob': ensure => 'absent' } puppet:~# ralsh user bob ensure=present notice: /User[bob]/ensure: created user { 'bob': ensure => 'present' } puppet:~# ralsh user bob ensure=absent notice: /User[bob]/ensure: removed user { 'bob': ensure => 'absent' }
  4. Experimentando com a linha de Comando • puppet describe dcs@puppet:~/exemplo$

    puppet describe package -s package ======= descrição e funcionamento Parameters ---------- adminfile, allowcdrom, category, configfiles, description, ensure, flavor, instance, name, platform, responsefile, root, source, status, type, vendor Providers --------- aix, appdmg, apple, apt, aptitude, aptrpm, blastwave, darwinport, dpkg, fink, freebsd, gem, hpux, nim, openbsd, pkg, pkgdmg, portage, ports, portupgrade, rpm, rug, sun, sunfreeware, up2date, urpmi, yum, zypper
  5. Puppet Apply package { 'locales': ensure => installed, } file

    { '/etc/default/locale': ensure => present, content => 'LANG=pt_BR.UTF-8', }
  6. Dependências package { 'locales': ensure => installed, } file {

    '/etc/default/locale': ensure => present, content => 'LANG=pt_BR.UTF-8', require => Package['locales'], }
  7. Outros Atributos package { 'locales': ensure => installed, } file

    { '/etc/default/locale': ensure => present, content => 'LANG=pt_BR.UTF-8', require => Package['locales'], owner => 'root', group => 'root', mode => 644, }
  8. Enviando Arquivos file { '/etc/locale.gen': ensure => present, source =>

    '/root/exemplo/locale.gen', require => Package['locales'], owner => 'root', group => 'root', mode => 644, }
  9. Classes e Nós class locale { package { 'locales': ensure

    => installed, } file { '/etc/default/locale': ensure => present, content => 'LANG=pt_BR.UTF-8', require => Package['locales'], } file { '/etc/locale.gen': ensure => present, source => '/root/exemplo/locale.gen', require => Package['locales'], } exec { '/usr/sbin/locale-gen': subscribe => File['/etc/locale.gen'], refreshonly => true, require => [ Package['locales'], File['/etc/locale.gen'] ], } } node default { include locale }

More Decks by Daniel Capo Sobral

Other Decks in Programming