Tecnologia

Criando e Configurando Servidores na Amazon utilizando ferramentas do Chef: Knife-solo e Knife-ec2

Por: , março 13, 2014


Por: Olavo Queiroz Guimarães (olavo.guimaraes@dextra-sw.com) e Edmagne Lira Santos (edmagne.santos@dextra-sw.com)
Já pensou em criar e configurar servidores com apenas 3 comandos?
Imaginamos que a cozinha (kitchen) seja onde ficam as receitas (cookbooks), e os servidores (nodes) os pratos das receitas a serem criados.
Primeiramente vamos configurar a kitchen:

Já pensou em criar e configurar servidores com apenas 3 comandos?
Imaginamos que a cozinha (kitchen) seja aonde ficam as receitas (cookbooks), e os servidores (nodes) os pratos das receitas a serem criados.
Primeiramente vamos configurar a kitchen:
SO: Ubuntu Server 12.04.3 LTS
1 – Instalar componentes necessários para rodar as API’s Knife-solo e Knife-ec2


#apt-get update
#apt-get build-essential
#apt-get install ruby1.9.1-full

SO: Ubuntu Server 12.04.3 LTS
1 – Instalar componentes necessários para rodar as API’s Knife-solo e Knife-ec2

#apt-get update
#apt-get install build-essential
#apt-get install ruby1.9.1-full

 
2 – Instalando knife-ec2 e knife-solo

#gem install knife-ec2
#gem install knife-solo

 
3 – Definindo Path de configurações

#knife solo init /opt/kitchen/ --librarian

 
4 – Configure o arquivo /opt/kitchen/.chef/knife.rb

cookbook_path    ["cookbooks", "site-cookbooks"]
node_path        "nodes"
role_path        "roles"
environment_path "environments"
data_bag_path    "data_bags"
knife[:berkshelf_path] = "cookbooks"
knife[:aws_access_key_id] = "Chave de acesso da conta na Amazon"
knife[:aws_secret_access_key] = "Chave Secreta da conta na Amazon"
knife[:chef_mode] = "solo"
knife[:region] = "us-east-1"
knife[:availability_zone] = "us-east-1c"

 
5 – Copie sua chave SSH da amazon para acesso aos servidores:

/opt/kitchen/.chef/ssh_key.pem

 
6 – Crie o arquivo JSON de acordo com os cookbooks que necessita executar /opt/kitchen/nodes/ip_server.json

{"run_list":["recipe[cookbook_aplication]", "recipe[cookbook_database]"]}

 
Com a kitchen devidamente configurada podemos criar e configurar as máquinas na Amazon:
1 – Executar o comando para criar um server na amazon. Lembrar de estar setado a pasta /opt/kitchen:

/opt/kitchen# knife ec2 server create --private-ip-address [ip_server] -f [tamanho_instancia] -I [AMI] -g [security_group_id] -s [subnet_id]
 -T NAME=[tag_name] -S [ssh_key]

OBS: exemplo de tamanho_instancia: m1.small, t1.micro
2 – Instalar chef-solo no server criado:

/opt/kitchen# knife solo -i .chef/ssh_key.pem prepare ubuntu@ip_server

 
3 – Executar cookbooks no server criado:

/opt/kitchen# knife solo -i .chef/ssh_key.pem cook ubuntu@ip_server

 
Pronto. O seu server está criado e configurado de acordo com os cookbooks definidos na sua run_list. Esta técnica permite centralizar cookbooks e facilita a criação e reconfiguração de servidores na Amazon.
Escrito por: Olavo Queiroz Guimarães  e Edmagne Lira dos Santos (edmagne.santos@dextra-sw.com).
 
 

  • Receba nosso conteúdo em primeira mão.