Академический Документы
Профессиональный Документы
Культура Документы
Conhecendo a 4Linux
Metodologia IT Experience -
Cenrios reais
2
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
iew 0 1
Rev
o C d i g o
t r u t u r a c om
Infraes ra n do o D o ck e r
d o e O p e
is t r a n
Admin i b le
co m A n s
o m a o
Aut a o co m
e C o n fi gur
e r n c ia d
G
Puppet
3
Introduo ao Docker
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Servidor: Docker
Vamos criar um container no docker seguindo
as informaes a baixo:
Nome: apache-hm
Hostname: apache-hm
Endereo Fixo: 172.18.0.28
Network: dexterlan
Hosts: puppet:192.168.200.50
Imagem: Homolog-template
Command: /bin/bash
4
Acompanhe o Instrutor;
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Introduo ao Puppet
5
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
1 Vamos configurar o Manifest do ambiente de homologao:
1#cd/etc/puppet/environments/homolog
2#vimmanifest/site.pp
nodeapachehm.dexter.com.br{
includepuppetapache
}
6
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
7
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
5 Configure o manifests do Puppet
1#cdpuppetapache
2#vimmanifests/init.pp
#ArquivoprincipaldomanifestdoPuppet
classpuppetapache{
includepuppetapache::install
includepuppetapache::service
includepuppetapache::files
}
8
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
5 Crie o arquivo para instalao do pacotes:
1#vimmanifests/install.pp
#Arquivoparainstalaodospacotes
classpuppetapache::installinheritspuppetapache{
package{'apache':
name=>'apache2',ensure=>installed,
}
package{'php5':ensure=>installed,}
package{'php5memcached':ensure=>installed,}
package{'php5memcache':ensure=>installed,}
package{'php5pgsql':ensure=>installed,}
}
9
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
6 Crie o arquivo e configure o arquivo de insalao do pacotes:
1#vimmanifests/service.pp
#Arquivoscomgerenciamentodeservios
classpuppetapache::serviceinheritspuppetapache{
service{'apache2':
hasrestart=>true,
hasstatus=>true,
ensure=>running,
enable=>true,
require=>Package['apache2'],
subscribe=>File['/etc/apache2/apache2.conf',
'/etc/apache2/sitesenabled'],
}
}
10
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
6 Crie o arquivo responsvel pelos arquivos:
1#vimmanifests/files.pp
#Arquivoscomgerenciamentodeservios
classpuppetapache::filesinheritspuppetapache{
file{'/etc/apache2/apache2.conf':
ensure=>file,
owner=>root,
group=>root,
mode=>0644,
source=>"puppet:///modules/puppetapache/apache2.conf",
require=>Package['apache2'],
notify=>Service['apache2'],
}
11
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
...
file{'/etc/apache2/sitesenabled':
ensure=>directory,
recurse=>true,
owner=>root,
group=>root,
source=>"puppet:///modules/puppetapache/sitesenabled",
require=>Package['apache2'],
notify=>Service['apache2']
12
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Introduo ao Ansible
Servidor: apache-hm
(container)
Vamos testar: Realize o teste do Mdulo do puppet
13
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Introduo ao Ansible
Servidor: apache-hm
1 Para arrumar o erro, vamos copiar os arquivos do apache: (container)
(Execute tudo na mesma linha):
1#scp/etc/apache2/apache2.conf
root@puppet:/etc/puppet/environments/homolog/modules/puppet
apache/files
2#scpr/etc/apache2/sitesavailable
root@puppet:/etc/puppet/environments/homolog/modules/puppet
apache/files/sitesenabled
14
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Introduo ao Ansible
15
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
1 Dentro da home do usurio root:
1#mkdirreview01;cdreview01
2#vimmain.yml
#Playbook:Dockercontainer
name:Provisionarcontainerdoapache
hosts:docker
tasks:
include:docker.yml
16
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
Servidor: Devops
3 Crie o arquivo responsvel pelos arquivos:
1#vimdocker.yml
#criarocontainereexecutaroagentedopuppet
name:Testarseocontainerexiste
command:dockerinspectapachehm
register:container
ignore_errors:yes
name:Parandoocontainer
command:dockerstopapachehm
when:container.rc==0
17
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
...
name:Removendoocontainer
command:dockerrmapachehm
when:container.rc==0
name:Criandocontainerdoapacheparateste
command: docker run dit name apachehm hostname apachehm
addhost=puppet:192.168.200.50homologtemplate/bin/bash
name:Executandooagentedopuppet
command:dockerexecapachehmpuppetagenttenvironment=homolog
ignore_errors:yes
name:Validandoconfsdoapache
command:dockerexecapachehmserviceapache2status
18
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Manifest do Puppet
...
name:Parandoocontainer
command:dockerstopapachehm
name:Removendocontainer(ambientestransitorotios)
command:dockerrmapachehm
#ENDOFPLAYBOOK
19
20
Dvidas?
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Sigam-nos
@4shotcursos
@4linux
www.4shot.com.br
www.4linux.com.br
21
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47