O que é o gerenciamento de automação e configuração com o chef - Parte 1

O que é o gerenciamento de automação e configuração com o chef - Parte 1

Vamos fazer um cenário simples, você tem 10 servidores Redhat, onde deve criar um usuário 'Tecmint' em todos os servidores. A abordagem direta é que você precisa fazer login em cada servidor e criar o usuário com o comando useradd. Quando os servidores são de 100 ou 1000s, faça o login em todos os servidores um por um, praticamente não é possível.

Aqui, a primeira coisa que vem à nossa mente nesses casos é escrever um script e deixar o script executar a execução nos servidores, é uma abordagem comprovada. O script tem suas próprias desvantagens, embora seja amplamente utilizado nas organizações, é difícil manter se o proprietário do script deixar a organização.

O script não funcionará em um ambiente heterogêneo. O script é um método imperativo para realizar a tarefa, onde você precisa escrever um código longo para uma tarefa simples etc., Esta situação nos exige procurar Gerenciamento de automação e configuração ferramentas como um Chefe de cozinha.

Nesta série de artigos sobre Chefe de cozinha, Vamos ver sobre os procedimentos de instalação e configuração da ferramenta de automação de chefs através das partes 1-3 e abrange os seguintes tópicos.

Parte 1: O que é automação e gerenciamento de configuração com chef Parte 2: Como instalar o Chef Workstation em Rhel/Centos 8/7 Parte 3: Como instalar o modelo Chef Client-Server em RHEL/CENTOS 8/7

Este tutorial fornece um ponto de partida sobre como Chefe de cozinha Trabalhos, automação, gerenciamento de configuração, arquitetura e componentes do chef.

1. Gerenciamento de configurações

Gerenciamento de configurações é o principal ponto de foco de DevOps prática. No ciclo de desenvolvimento de software, todos os servidores devem ser configurados por software e mantidos bem de tal maneira que não devem fazer nenhuma quebra no ciclo de desenvolvimento. Gerenciamento de configuração ruim pode fazer interrupções, vazamentos e violações de dados do sistema. Usando Gerenciamento de configurações Ferramentas é sobre facilitar a precisão, eficiência e velocidade no ambiente de DevOps orientado.

Existem dois modelos de ferramentas de gerenciamento de configuração - Baseado em push & Baseado em tração. No Baseado em push, O servidor mestre empurra o código de configuração para os servidores em que Baseado em tração Servidores individuais entram em contato com o mestre para obter o código de configuração. FANTOCHE e CHEFE DE COZINHA são amplamente usados ​​modelos baseados em puxão, Ansible é um modelo popular baseado em push. Neste artigo, veremos sobre CHEFE DE COZINHA.

2. O que é um chef?

Um chef é um programa de automação de código aberto que permite que os administradores do sistema automatizem as tarefas de implantação, configurações, gerenciamento e em andamento em vários servidores e outros dispositivos de uma organização de uma maneira simples e fácil.

  • Está estabelecido em 2008 como Opscode mais tarde é renomeado para CHEFE DE COZINHA (Automação de chef ferramenta).
  • É uma ferramenta de automação baseada em Ruby usada para gerenciar a configuração, automatizar e orquestrar toda a infraestrutura de uma organização.
  • É um projeto OpenSource e vem com dois modelos de implantação: cliente do servidor e independente.
  • O Chef suporta vários sistemas operacionais como Ubuntu, Redhat/CentOS, Fedora, MacOS, Windows, Aix, etc.
  • O chef é declarativo e é muito mais simples que as linguagens de script nativas.
  • Ele fornece implantação contínua para permitir que uma empresa se mantenha atualizada com o requisito de mercado.
  • A principal responsabilidade do chef é manter o estado definido de configuração.
  • Tem sua própria linguagem declarativa para gerenciar 10 e 1000s de nós com facilidade.
  • O chef é adaptável à nuvem, se integra facilmente à infraestrutura na nuvem.
  • O chef é fácil de aprender e uma forte ferramenta de DevOps apoiada pela comunidade.

3. Arquitetura do chef

Chefe de cozinha A arquitetura é dividida em 3 seções principais.

  • Chef Workstation: Plataforma de desenvolvimento local para usuários de chef para criar, testar e aplicar configurações. Pode ser o seu desktop local, laptop com o chef DK (Kit de Desenvolvimento) instalado. Pode ser usado como um ambiente de desenvolvimento/teste antes de promover em produção.
  • Servidor chef: É um servidor com software chef-servidor instalado e configurado nele. É responsável por gerenciar o código do chef e acessar o código de configuração da Chef Workstation. O servidor Chef deve ser uma máquina Linux, não suportará nenhum outro sistema operacional.
  • Clientes chefs: Existem os servidores que entram em contato com o servidor Chef para obter detalhes de configuração, como código do chef e outros arquivos dependentes em binários. Ele puxa o código do servidor Chef e os implanta localmente.
Arquitetura do chef

4. Componentes do chef

A seguir estão a chave Chefe de cozinha componentes.

  • Recursos são o módulo básico de receita usado para gerenciar a infraestrutura.
  • O atributo são as configurações na forma de par de valores-chave.
  • Receitas são a coleção de atributos que podem ser feitos na estação de trabalho. É um conjunto de comandos que podem ser aplicados aos clientes do chef como código de chef.
  • A coleção de receitas é chamada de Livro de receitas.
  • Uma faca é uma ferramenta de linha de comando na estação de trabalho do chef que interage com o servidor Chef.

5. Modelo de implantação do chef

Existem dois modelos de implantação para Chefe de cozinha.

  • Cliente do servidor - É usado para implantação de produção.
  • Chef zero - É usado para desenvolvimento, teste e POCs.

6. Como o chef funciona? Infraestrutura como código

Infraestrutura como código é o gerenciamento de infraestrutura de TI, onde nos permite executar automaticamente várias instalações/implantação e gerenciamento de configuração. Aqui, todas as configurações, instalações são escritas como código.

  • O Chef Client/Node fará registro e autenticação com o servidor Chef.
  • O Chef Client/Node irá procurar periodicamente para o servidor Chef. O processo de autenticação é feito toda vez que o chef-cliente deseja acessar os dados armazenados no chef-servidor.
  • Ohai é uma ferramenta que será executada por um cliente chef para determinar o estado do sistema, detectará os atributos (OS, memória, disco, CPU, kernel, etc.,) do nó e forneça esses atributos para o chef-cliente. Ohai faz parte da instalação do cliente Chef.
  • Se houver alguma alteração no livro de receitas ou na configuração, ele será enviado ao Chef-Client e será atualizado/instalado.
  • Livros de receitas e configurações serão atualizados no servidor Chef usando a estação de trabalho do chef através da ferramenta de linha de comando Faca. A estação de trabalho empurra todas as políticas para o servidor Chef usando faca.
  • Como cada cliente/nó estará tendo uma verificação periódica com o servidor Chef, as configurações serão aplicadas individualmente de acordo com a função do servidor. Por exemplo: nos nós do chef, alguns nós serão servidores de banco de dados, alguns nós serão servidores de gateway, etc.
Conclusão

Neste artigo, vimos conceitos básicos de gerenciamento de configurações e ferramenta de automação de chefs. Veremos o processo passo a passo da instalação do chef nos próximos artigos.