Chef é uma ferramenta de Gestão de Configuração, onde é possível configurar as aplicações dos equipamento.
Caso esteja utilizando o Amazon Linux, configure o repositório do CentOS 6 com enabled=0 e habilite-o no yum install utilizando --enablerepo=base.
Após a instalação do Sistema Operacional, execute os comandos abaixo:
Após a instalação do Sistema Operacional, execute "na Estação de Trabalho Windows", os comandos abaixo:
Instalação do Chef Server
Devido à similaridade com o Amazon Linux, utilizarei o CentOS 6. Durante a instalação, configurei o hostname para chef.infradev.com.br.Caso esteja utilizando o Amazon Linux, configure o repositório do CentOS 6 com enabled=0 e habilite-o no yum install utilizando --enablerepo=base.
Após a instalação do Sistema Operacional, execute os comandos abaixo:
yum update -y rpm -Uvh http://rbel.co/rbel6 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm yum install -y gcc gcc-c++ automake autoconf make curl dmidecode unzip sudo yum install -y rubygem-chef-server ruby-shadow --enablerepo=epel service iptables stop setup-chef-server.sh knife configure -i -u adminO último comando configura o usuário de administração, pressione enter para todas as perguntas, como segue:
[root@chef ~]# knife configure -i -u admin WARNING: No knife configuration file found Where should I put the config file? [~/.chef/knife.rb] Please enter the chef server URL: [http://chef.infradev.com.br:4000] Please enter the existing admin clientname: [chef-webui] Please enter the location of the existing admin client's private key: [/etc/chef/webui.pem] Please enter the validation clientname: [chef-validator] Please enter the location of the validation key: [/etc/chef/validation.pem] Please enter the path to a chef repository (or leave blank): Creating initial API user... Created client[admin] Configuration file written to /root/.chef/knife.rb [root@chef ~]#Verifique a configuração do cliente
[root@chef ~]# knife client list admin chef-validator chef-webui [root@chef ~]#Acesse a url http://chef.infradev.com.br:4040 e logue-se com o usuário "admin" e a senha "chef321go", será solicitado alterar a senha.
Criar conta cliente
[root@chef ~]# knife client create alexandre -n -a -f /etc/chef/alexandre.pem
Created client[alexandre]
[root@chef ~]# knife client show alexandre
_rev: 1-b1f00f0260d6b4adfe7f34417ec3b7e5
admin: true
chef_type: client
json_class: Chef::ApiClient
name: alexandre
public_key: -----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAzehM3rKG2xYKyCpk2jIYZjbMVmjZJU04tBhHRDI4MzBydX1+5A4F
DywQDRb1WUMYjy2XzpijyPlMSqIEf7f2X49tHyIB2++s4B3WOBzXsy7zCnfvAa4L
tYi4/Z4IzGG5KoaBd5dEMPyEWC+HnwWHfoQiqHaS5Ojv3YDsF1UE72G/+1OXAcfC
C0H6tQCYAt2c5boUMjX3GSQAV+0aKvfHjOeunSrtfk4igBgRVQZ2345glnZny1DT
u4aqF84a4yIsBfKbqHKM1FUaGrdt4IHf7JHiV2cOFqnmufsTB/FO80arwawYM3qD
1nEWQvgINt3TGNotx1ujLMkCAOoXaadHYwIDAQAB
-----END RSA PUBLIC KEY-----
[root@chef ~]#
Foi criado um cliente com o nome alexandre.
Estação de Trabalho Windows
- Baixe e instale o Chef Full Installer.
- Baixe e descompacte Chef Repository, no meu caso baixou o arquivo opscode-chef-repo-a3bec38.zip.
Descompacte-o, renomeie o diretório gerado para chef-repo, e mova-o para seu diretório home. %HOMEPATH%\chef-repo - Copie de root@chef.infradev.com.br:/etc/chef/ os arquivos validation.pem e alexandre.pem para %HOMEPATH%\chef-repo\.chef
- Crie o arquivo %HOMEPATH%\chef-repo\.chef\knife.rb com o conteúdo abaixo:
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name 'alexandre'
client_key "#{current_dir}/alexandre.pem"
validation_client_name 'chef-validator'
validation_key "#{current_dir}/validation.pem"
chef_server_url 'http://chef.infradev.com.br:4000'
cache_type 'BasicFile'
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
cookbook_path [ "#{current_dir}/../cookbooks" ]
- Verifique a configuração do cliente:
PS C:\Users\Alexandre\chef-repo> knife client list admin alexandre chef-validator chef-webui PS C:\Users\Alexandre\chef-repo>
Instalação do servidor gerenciado
Como na instalação do Chef Server, utilizei o CentOS 6. Durante a instalação, configurei o hostname para chefclient.infradev.com.br.Após a instalação do Sistema Operacional, execute "na Estação de Trabalho Windows", os comandos abaixo:
PS C:\Users\Alexandre\workspace\chef-repo> knife bootstrap -d rhel6-rbel --ssh-user root --run-list "role[base], " chefclientEste irá executar o bootstrap rhel6-rbel na máquina chefclient utilizando o usuário root, rodando a role base e registrando-o no chefserver.