O documento discute o uso do Chef para gerenciamento de configuração e infraestrutura como código. O Chef é descrito como um gerenciador de configuração que permite manter a infraestrutura homogênea e atualizada. Vários recursos do Chef são demonstrados, incluindo a criação de arquivos, diretórios, usuários, instalação de pacotes e configuração de cron jobs. Exemplos de código Ruby são fornecidos para ilustrar o uso de receitas do Chef.
2. Menu do dia
Conhecendo o Chef.
O que faz o Chef ?
Conceitos da infra-estrutura.
Conceitos do Chef.
Mão na massa.
Leonardo Martins - leonardo.martins@walmart.com
3. Conhecendo o Chef
Gerenciador de configuração.
Infraestrutura como código.
Manter o parque homogênio e atualizado.
Leonardo Martins - leonardo.martins@walmart.com
6. Quais são os pratos?
Criar arquivos e diretórios.
Manipula conteúdo de arquivos.
Criar usuários e grupos.
Muda a permissão de arquivos e diretórios.
Instala e remove pacotes.
Cron
Mount
Link simbólico
Leonardo Martins - leonardo.martins@walmart.com
7. Quais são os pratos?
Criar arquivos e diretórios.
Manipula conteúdo de arquivos.
!!!!
file '/tmp/bacon' do!
content 'bacon is delicious!'!
end!
!
directory '/opt/my/deep/directory' do!
owner 'root'!
group 'root'!
mode '0644'!
recursive true!
end!
!
!
Leonardo Martins - leonardo.martins@walmart.com
8. Quais são os pratos?
Criar usuários e grupos.
Muda a permissão de arquivos e diretórios.
user 'bacon'!
group ‘bacon' !
!
template ‘/opt/blacklist/blacklist' do!
source ‘my_blacklist.conf.erb'!
owner 'root'!
group 'root'!
mode '0644'!
end!
!
Leonardo Martins - leonardo.martins@walmart.com
10. Temperos mais forte!
Roda comandos em ‘batch’
Faz pesquisa baseada em nome,role, OS.
Leonardo Martins - leonardo.martins@walmart.com
11. Conceitos da infra do Chef
Cookbook
Atributos Receitas Templates Bibliotecas Arquivos
CHEF - Server
Leonardo Martins - leonardo.martins@walmart.com
23. user "bacon" do!
supports :manage_home => true!
comment "Random User"!
uid 1234!
gid "users"!
home "/home/bacon"!
shell "/bin/bash"!
password "$1$JJJJJJJJJJJJJs."!
end!
!!
group "bacon" do!
action :modify!
members "zabbix"!
append true!
end!
Mão na massa
$ echo "your_password"|openssl passwd -1 -stdin!
!
Leonardo Martins - leonardo.martins@walmart.com
24. - Instalar o httpd
- Garantir que o httpd sempre esteja rodando
- Trocar o conteúdo do /var/www/html/index.html
- Criar o usuário spiderman, colocar uma senha.
- Criar o grupo marvel
- Colocar spiderman no grupo marvel
- Cron para monitorar o uso do disco (a cada 5 min.)
Mão na massa
Leonardo Martins - leonardo.martins@walmart.com