Pesquisa de site

Como instalar e configurar o Chef no Ubuntu 17.04


Nesta página

  1. Atualizar sistema básico
  2. Atualizar nome do host
  3. Configurar NTP
  4. Baixe e instale o Chef
  5. Configurar chef
  6. Instalar o console de gerenciamento da Web
  7. Criar administrador e organização
  8. Acessar console da Web
  9. Instalar plug-ins opcionais
  10. Conclusão

O Chef é uma ferramenta de gerenciamento de configuração gratuita e de código aberto. Está escrito em Ruby e Erlang. O Chef pode se integrar facilmente com plataformas baseadas em nuvem, como AWS, OpenStack ou RackSpace, etc., para criar e gerenciar automaticamente os servidores. Quando uma organização cresce e o número de nós aumenta, torna-se difícil para um administrador de sistema gerenciar cada nó sozinho. Neste cenário, Chef vem para resgatar. O sistema ecológico Chef consiste em três partes, servidor Chef, estações de trabalho Chef e nós Chef. Essa ferramenta DevOps permite que um administrador de sistema gerencie os vários nós de um local central.

Neste tutorial, instalaremos a versão mais recente do Chef no Ubuntu 17.04 (Zesty Zapus).

Pré-requisito

  • Servidor Ubuntu 17.04 mínimo.
  • Privilégios de root. Este guia foi escrito como usuário root, se você estiver logado como usuário sudo, execute sudo -i.
  • um nome de domínio apontado para o seu servidor.

Atualizar sistema básico

Antes de instalar qualquer pacote, é recomendável atualizar os pacotes e o repositório usando o seguinte comando.

apt update && apt -y upgrade

Depois que seu sistema estiver atualizado, prossiga.

Atualizar nome do host

O Chef requer um nome de host resolvível definido no servidor. O nome do host deve ser um FQDN ou nome de domínio completo qualificado, por exemplo, chef.seudominio.com. Para definir o nome do host em seu servidor, execute o seguinte comando.

hostname 'chef.yourdomain.com'

Substitua chef.yourdomain.com pelo seu nome de domínio real. Além disso, atualize o nome do host no arquivo /etc/hostname.

echo "chef.yourdomain.com" | tee /etc/hostname

Adicione o endereço IP do seu nome de host no arquivo /etc/hosts executando o seguinte comando.

echo "192.168.1.1 chef.yourdomain.com" >> /etc/hosts

Substitua 192.168.1.1 pelo seu endereço IP público real.

Configurar NTP

O NTP do servidor Network Time Protocol é necessário para sincronizar o relógio do servidor. O Chef requer que o sistema ao qual está conectado execute NTP, pois é muito sensível a mudanças de relógio. O NTP é executado na porta 123 em UDP. Para instalar o NTP em seu servidor, execute o seguinte comando.

apt install ntp

Inicie o NTP executando o seguinte comando.

systemctl start ntp

Para habilitar o NTP para iniciar automaticamente no momento da inicialização, execute o seguinte comando.

systemctl enable ntp

Você pode verificar se o NTP sincronizou o relógio executando o seguinte comando.

ntpq -p

Você deve ver a seguinte saída:

:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
#hydrogen.consta 129.6.15.29      2 u   34   64   17  174.427   -9.145   0.751
#helium.constant 128.59.0.245     2 u   30   64   17  176.812   -8.253   0.726
#lithium.constan 18.26.4.105      2 u   33   64   17  175.435    0.357   0.684
#ntppublic.uzh.c 130.60.159.8     3 u   24   64   17  256.712    8.982   0.927
+x.ns.gin.ntt.ne 249.224.99.213   2 u   25   64   17    0.872   -1.636   0.805
-borris.netwurx. 144.92.9.22      2 u   22   64   17  163.284    0.848   1.141
-ns1.do.steersne 195.66.241.3     2 u   23   64   17  222.882   -3.528   0.965
-sircabirus.von- 36.224.68.195    2 u   28   64   17  266.005    3.502   1.173
*chobi.paina.net 131.113.192.40   2 u   26   64   17    1.280   -1.852   1.046
#213.251.53.11   193.62.22.74     2 u   27   64   17  246.940    9.920   1.405
-flightplandatab 210.240.96.206   2 u   27   64   17  258.052   -1.338   2.789
-time.platformni 118.211.218.186  2 u   27   64   17    1.592    3.394   1.127

Baixe e instale o chef

Baixe o pacote Chef Server para Ubuntu executando o seguinte comando.

wget https://packages.chef.io/files/stable/chef-server/12.15.8/ubuntu/16.04/chef-server-core_12.15.8-1_amd64.deb

Você sempre pode encontrar o link para a versão mais recente do Chef visitando as páginas de download do Chef. Agora, instale o pacote executando o seguinte comando.

dpkg -i chef-server-*.deb

Chef agora está instalado em seu sistema. Você precisará configurar o servidor antes de usá-lo.

Configurar chef

Agora você pode executar o seguinte comando para iniciar todos os serviços necessários do Chef para funcionar.

chef-server-ctl reconfigure

O comando acima levará alguns minutos para ser concluído enquanto instala e configura todos os componentes do servidor chef. Depois de concluído com sucesso, você deve receber a seguinte mensagem no final.

Chef Client finished, 491/1096 resources updated in 03 minutes 13 seconds
Chef Server Reconfigured!

Você pode verificar se os serviços foram iniciados com sucesso executando:

chef-server-ctl status

Você deve ver a seguinte saída.

:~# chef-server-ctl status
run: bookshelf: (pid 6030) 87s; run: log: (pid 6047) 86s
run: nginx: (pid 5859) 91s; run: log: (pid 6387) 82s
run: oc_bifrost: (pid 5766) 92s; run: log: (pid 5842) 92s
run: oc_id: (pid 5849) 91s; run: log: (pid 5854) 91s
run: opscode-erchef: (pid 6244) 84s; run: log: (pid 6108) 85s
run: opscode-expander: (pid 5926) 88s; run: log: (pid 6010) 87s
run: opscode-solr4: (pid 5895) 89s; run: log: (pid 5912) 89s
run: postgresql: (pid 5718) 93s; run: log: (pid 5745) 92s
run: rabbitmq: (pid 5239) 101s; run: log: (pid 5099) 105s
run: redis_lb: (pid 5036) 121s; run: log: (pid 6361) 83s

Instalar o console de gerenciamento da Web

O Chef fornece uma interface gráfica do usuário baseada na Web para o servidor Chef administrador. Você pode usar o console baseado em GUI para gerenciar conjuntos de dados, atributos, listas de execução, funções, ambientes e livros de receitas.

Para instalar o Chef Manage, execute o seguinte comando:

chef-server-ctl install chef-manage

Reconfigure o servidor Chef novamente digitando:

chef-server-ctl reconfigure

Por fim, configure o Chef Manage executando o seguinte comando.

chef-manage-ctl reconfigure

O comando acima solicitará que você aceite o contrato de licença. Você pode optar por aceitar o contrato de licença durante a execução ou simplesmente executar o seguinte comando para aceitar automaticamente a licença.

chef-manage-ctl reconfigure --accept-license

Criar administrador e organização

Antes de efetuar login e usar o console administrativo, você precisará criar um usuário e uma organização. Durante a criação do usuário e da organização, ele gera automaticamente as chaves privadas RSA necessárias para conectar-se às estações de trabalho e ao cliente. Você pode criar um novo diretório .chef para armazenar as chaves. Execute o comando para criar um novo diretório para armazenar as chaves privadas.

mkdir ~/.chef

Agora crie um novo administrador executando o seguinte comando.

chef-server-ctl user-create admin Chef Administrator  StrongPassword -f ~/.chef/admin.pem

Substitua admin pelo seu nome de usuário preferido, Chef pelo primeiro nome e Administrator pelo sobrenome, [email  pelo seu e-mail e admin.pem deve estar de acordo com o seu nome de usuário. Substitua StrongPassword por uma senha muito forte.

Agora crie uma nova organização executando o seguinte comando.

chef-server-ctl org-create my_org 'My Organization' --association_user admin -f ~/.chef/my_org.pem

Substitua my_org pelo nome abreviado da sua organização, My Organization pelo nome completo da sua organização e admin pelo usuário administrativo que você criou.

Acessar console da Web

Agora que tudo o que é necessário para acessar o console da web está instalado e configurado, você pode acessar o console navegando na URL a seguir em seu navegador favorito.

http://Your-Server-IP

Você também pode usar seu nome de domínio em vez do IP do servidor se tiver o domínio configurado. Você deve ver a seguinte tela de login.

Faça login usando o nome de usuário e a senha que você criou. Depois de fazer login com sucesso, você verá a seguinte interface.

Instalar plug-ins opcionais

Você pode habilitar relatórios para aprender sobre o processo que ocorre em todos os clientes-chef que são gerenciados pelo servidor Chef. Você pode executar relatórios por meio do console de gerenciamento do Chef para visualizar relatórios no console da web. Os relatórios podem ser gerados para toda a organização e podem ser gerados para nós específicos. Para instalar relatórios, execute o seguinte comando.

chef-server-ctl install opscode-reporting

Reconfigure o servidor Chef executando:

chef-server-ctl reconfigure

Configure o módulo de relatórios executando:

opscode-reporting-ctl reconfigure

Você pode verificar se o plugin Reporting está instalado e funcionando corretamente executando:

opscode-reporting-ctl test

De maneira semelhante, você pode instalar trabalhos do Chef Push para executar trabalhos. Os trabalhos Chef Push permitem que o servidor Chef execute trabalhos em nós independentemente de uma execução chef-client. Os trabalhos push do Chef usam a API do servidor Chef e um cliente Ruby para iniciar todas as conexões com o servidor Chef. Instale Push Jobs executando o seguinte comando.

chef-server-ctl install opscode-push-jobs-server

Reconfigure o servidor Chef executando:

chef-server-ctl reconfigure

Configure o módulo Push Jobs executando:

opscode-push-jobs-server-ctl reconfigure

Conclusão

Neste tutorial, aprendemos a instalar a versão mais recente do Chef na versão mais recente do Ubuntu. Você pode aprender mais sobre o Chef visitando o site do Chef.

Artigos relacionados: