Entenda os componentes principais de Ansible - Parte 1

Entenda os componentes principais de Ansible - Parte 1

O Red Hat Certified Specialist em Ansible Automation Exam (ex407) é um novo programa de certificação por chapéu vermelho que testa suas habilidades para usar Ansible Para automatizar a configuração de sistemas e aplicativos.

A série será intitulada “O Red Hat Certified Specialist em Ansible Automation Exam (ex407)”E abrange os seguintes objetivos do exame com base em Red Hat Enterprise Linux 7.5 e Ansible 2.7, que vamos cobrir neste Ansible Series:

Para visualizar as taxas e se registrar para um exame em seu país, consulte a página do exame Ansible Automation.

Parte 1: Entender os componentes principais de Ansible Parte 2: Instale e configure um nó de controle Ansible Parte 3: Como configurar nós gerenciados Ansible e executar comandos ad-hoc Parte 4: Como criar inventários estáticos e dinâmicos para definir grupos de hosts Parte 5: Como criar peças e manuais de Ansible Parte 6: Como usar módulos Ansible para tarefas de administração do sistema Parte 7: Como criar e usar modelos para criar arquivos de configuração personalizados Parte 8: Como trabalhar com variáveis ​​e fatos Ansible Parte 9: Como criar e baixar funções uma galáxia Ansible e usá -las Parte 10: Como usar o Ansible Vault em playbooks para proteger dados confidenciais

Nisso Parte 1 do Ansible série, discutiremos uma visão geral básica dos componentes principais em Ansible.

Entender os componentes principais de Ansible

Ansible é uma plataforma de automação gratuita e aberta por Chapéu vermelho Isso permite gerenciar e controlar vários servidores de um local central. É especialmente ideal quando você tem tarefas múltiplas e repetitivas que precisam ser executadas. Portanto, em vez de entrar em cada um desses nós remotos e executar suas tarefas, você pode fazê -lo confortavelmente em um local central e gerenciar confortavelmente seus servidores.

Isso é benéfico quando você deseja manter a consistência na implantação de aplicativos, reduzir o erro humano e automatizar tarefas repetitivas e um tanto mundanas.

Claro, existem outras alternativas para Ansible como Fantoche, Chefe de cozinha, e Sal. No entanto, Ansible é preferido principalmente porque é fácil de usar e simples de aprender.

Por que é simples aprender que você pode perguntar? Isto é porque Ansible usos Yaml (Ainda outra linguagem de marcação) em seus trabalhos de configuração e automação que são legíveis por humanos e bastante fáceis de seguir. Yaml usos Ssh Protocolo para se comunicar com servidores remotos, diferentemente de outras plataformas de automação que exigem a instalação de um agente em nós remotos para se comunicar com eles.

Antes de começarmos com Ansible, É importante que você se familiarize com algumas terminologias básicas para que você não se perca ou confuso enquanto avançamos.

Inventário

Um inventário é um arquivo de texto que contém uma lista de servidores ou nós que você está gerenciando e configurando. Geralmente, os servidores estão listados com base em seus nomes de host ou endereços IP.

Um inventário O arquivo pode conter sistemas remotos definidos por seus endereços IP, como mostrado:

10.200.50.50 10.200.50.51 10.200.50.52 

Como alternativa, eles podem ser listados de acordo com os grupos. No exemplo abaixo, temos servidores colocados em 2 grupos - Servidores da Web e bancos de dados. Dessa forma, eles podem ser referenciados de acordo com os nomes de seus grupos e não seus endereços IP. Isso simplifica ainda mais os processos de operação.

[Web Servers] 10.200.50.60 10.200.50.61 [bancos de dados] 10.200.50.70 10.200.50.71 

Você pode ter vários grupos com vários servidores se estiver em um grande ambiente de produção.

Livro de cantadas

A livro de cantadas é um conjunto de scripts de gerenciamento de configurações que definem como as tarefas devem ser executadas em hosts remotos ou em um grupo de máquinas host. Os scripts ou instruções são escritos em Yaml formatar.

Por exemplo, você pode ter um livro de cantadas arquivo para instalar o servidor da web do Apache no CentOS 7 e chamá -lo httpd.yml.

Para criar o livro de cantadas execute o comando.

$ touch playbook_name.yml 

Por exemplo, para criar um manual chamado httpd, execute o comando.

$ touch httpd.yml 

Um arquivo YAML começa com 3 hífens como mostrado. Dentro do arquivo, adicione as seguintes instruções.

--- - Nome: Isso instala e inicia os hosts do Apache WebServer: WebServers Tasks: - Nome: Instale o Apache WebServer yum: name = httpd state = mais recente - nome: verifique o serviço de status httpd: nome = httpd state = iniciado 

O de cima livro de cantadas instalações Servidor da web apache em sistemas remotos definidos como servidores da web No arquivo de inventário. Após a instalação do servidor da web, o Ansible posterior verifica se o servidor da Web Apache é iniciado e em execução.

Módulos

Módulos são unidades discretas de código usado em Playbooks Para executar comandos em hosts ou servidores remotos. Cada módulo é seguido por um argumento.

O formato básico de um módulo é valor chave.

- Nome: Instale Pacotes Apache Yum: Nome = Httpd State = Presente 

No acima Yaml fragmento de código, -nome e yum são módulos.

Tocam

Um Ansible jogar é um script ou uma instrução que define a tarefa a ser realizada em um servidor. Uma coleção de peças constitui um manual. Em outras palavras, um manual é uma coleção de várias peças, cada uma das quais estipula claramente a tarefa a ser realizada em um servidor. Plays existem no formato YAML.

Variáveis

Se você tem experiência em programação, provavelmente você usou variáveis. Basicamente, uma variável representa um valor. Uma variável pode incluir cartas, números e sublinhados, mas deve sempre começar com letras.

Variáveis ​​são usadas quando as instruções variam de um sistema para outro. Isso é especialmente verdadeiro durante a configuração ou vários serviços e recursos.

Existem 3 tipos principais de variáveis:

  • Variáveis ​​de manual
  • Variáveis ​​de inventário
  • Variáveis ​​especiais

Em Ansible, As variáveis ​​são definidas pela primeira vez usando o vars k, depois seguido pelo nome da variável e pelo valor.

A sintaxe é como mostrado:

Vars: var name1: 'minha primeira variável' var name2: 'minha segunda variável' 

Considere o código abaixo.

- Hosts: Web Servers VARS: - Web_Directory:/var/www/html/ 

No exemplo acima, a variável aqui é web_directory e instrui o Ansible a criar um diretório no /var/www/html/ caminho.

Fatos

Fatos estão as propriedades do sistema coletadas pela Ansible quando executa um manual em um sistema host. As propriedades incluem o nome do host, a família OS, o tipo CPU e os núcleos da CPU para mencionar alguns.

Para ter um vislumbre do número de fatos disponíveis para uso em questão o comando.

$ ANSIBLE LOCALHOST -M Setup 
Lista de fatos Ansible disponível

Como você pode ver, um grande número de fatos foram exibidos por padrão. Você pode restringir ainda mais os resultados usando o parâmetro do filtro, conforme mostrado.

$ Ansible localhost -m configuração -a "filtro =*ipv4" 
Liste fatos Ansible IPv4

Arquivos de configuração

Em Ansible, Um arquivo de configuração é um arquivo que contém diferentes configurações de parâmetros que determinam como o Ansible é executado. O arquivo de configuração padrão é o Ansible.cfg arquivo localizado em /etc/Ansible/ diretório.

Você pode visualizar o arquivo de configuração executando:

$ cat/etc/Ansible/Ansible.cfg 
Arquivo de configuração Ansible

Como você pode observar, vários parâmetros estão incluídos, como inventário e biblioteca Caminhos de arquivo, usuário sudo, filtros de plug -in, módulos, etc. Esses parâmetros podem ser ajustados simplesmente comentando -os e modificando os valores nele.

Além disso, você pode ter vários arquivos de configurações trabalhando com Ansible, além do seu arquivo de configuração padrão.

Resumo

Tendo olhado para os componentes principais em Ansible, Esperamos. Junte -se a nós no seu próximo tópico.