Вы находитесь на странице: 1из 21

REVIEW 01

Reviso das Aulas 01 02 03 04


Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47

Conhecendo a 4Linux

Projetos complexos de misso crtica,


com infra e desenvolvimento PHP

Cursos prticos, rpidos e baratos de


autores feras: www.4shot.com.br

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

Vamos realizar a configurao de


um mdulo para provisionar e
gerenciar o servio do Apache.

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 Vamos configurar o mdulo utilizando o prprio comando do Puppet.

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

3 Entre no diretrio de modulos do ambiente de homolog:


1#cd/etc/puppet/environments/homolog/modules

4 Realize a criao do mdulo do puppet:


2#puppetmodulegeneratepuppetapache

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

1 Execute o agente do puppet e perceba o erro:


1#puppetagenttenvironment=homolog

Error: /Stage[main]/Puppet-apache::Files/File[/etc/apache2/sites-enabled]: Could not evaluate:


Could not retrieve information from environment homolog source(s) puppet:///modules/puppet-
apache/sites-enabled

Error: /Stage[main]/Puppet-apache::Files/File[/etc/apache2/apache2.conf]: Could not evaluate:


Could not retrieve information from environment homolog source(s) puppet:///modules/puppet-
apache/apache2.conf

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

Vamos testar: Realize o teste do Mdulo do puppet novamente

14
Daniel De Oliveira Pereira / d.oliveirasp@gmail.com / 11-65449228 / 290.562.488-47

Introduo ao Ansible

Vamos criar um playbook para provisionar


as mquinas do Docker para o nosso
ambiente.

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 Vamos configurar um playbook:

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

Vamos testar: Realize o teste do nosso Playbook.

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

Вам также может понравиться