Introdução às perguntas e respostas da entrevista Ansible

Ansible é uma plataforma de automação de código aberto. O Ansible ajuda na automação de tarefas, implantação de aplicativos e gerenciamento de configurações. Ansible é desenvolvido na linguagem Python. Ansible consiste em dois servidores que controlam a máquina e os nós. Esses dois servidores são gerenciados pelo SSH sem nenhum tempo de inatividade. Usando o protocolo SSH, o Ansible implementa módulos nos nós e estes são armazenados principalmente temporariamente em nós remotos. O Ansible pode lidar com mais de 100 nós em um único sistema pela conexão SSH.

Abaixo está a lista de perguntas e respostas comuns da entrevista do Ansible 2019:

Então, você finalmente encontrou o emprego dos seus sonhos na Ansible, mas está se perguntando como quebrar a entrevista da Ansible e quais poderiam ser as prováveis ​​perguntas da entrevista da Ansible para 2019. Cada entrevista é diferente e o escopo de um trabalho também é diferente. Tendo isso em mente, criamos as Perguntas e Respostas Ansible mais comuns da entrevista para ajudá-lo a obter sucesso em sua entrevista.

1. O que é Ansible?

Responda:
Ansible é uma plataforma de automação de código aberto. Pode nos ajudar com o gerenciamento de configuração, implantação de aplicativos ou automação de tarefas. Ele pode implantar um aplicativo usando SSH sem nenhum tempo de inatividade. O Ansible é desenvolvido ou escrito na linguagem Python.

2. Quais são as vantagens e o uso do Ansible?

Responda:
O Ansible tem um grande número de benefícios:
Nenhum agente: o agente não é necessário para configurar o Ansible. Se o Box puder suportar ssh e possuir python, não há problema em configurar o Ansible.
Idempotente: a arquitetura do Ansible é totalmente estruturada em torno do conceito de idempotência. A idéia principal ou principal é que apenas essas coisas precisam ser adicionadas e necessárias, e essas coisas serão repetíveis sem efeitos colaterais.
Declarativo não processual: uma atitude normal de outras ferramentas de configuração de seguir um processo processual significa fazer isso, fazer isso e assim por diante. Mas o Ansible normalmente escreve a descrição do estado da máquina o que queremos e toma as medidas adequadas para cumprir essa descrição.
Muito fácil de aprender e com pouca sobrecarga.

3. Como o Ansible funciona?

Responda:
O Ansible é categorizado principalmente em dois tipos de servidor: máquina de controle e Nós.
O Ansible será instalado na máquina controladora e os nós serão gerenciados dentro dessa máquina controladora pelo SSH. A localização dos nós é especificada controlando uma máquina através de seu inventário.
O Ansible implementa módulos nos nós usando o protocolo SSH. Esses módulos são armazenados principalmente temporariamente em nós remotos e se comunicam com a máquina Ansible por meio de uma conexão JSON na saída padrão. A instalação do agente em nós remotos não é necessária para o Ansible, pois não possui agente. Portanto, qualquer processo em segundo plano ou daemon não está executando o Ansible quando não está gerenciando nenhum nó. O Ansible pode lidar com mais de 100 nós em um único sistema através da conexão SSH e apenas um único comando 'ansible' pode ser tratado durante toda a operação. Porém, em alguns cenários, podemos criar 'playbooks' onde precisamos executar vários comandos para implantação. Playbooks estão na verdade mantendo todo o comando seqüencial que precisa ser executado para executar várias tarefas. Os playbooks estão no formato de arquivo YAML.

4. Qual é a utilidade do Ansible?

Responda:
Responsável principalmente usado na infraestrutura de TI para gerenciar ou implantar aplicativos em nós remotos. Suponha que desejemos implantar um aplicativo em 100 nós apenas executando um comando; o Ansible está realmente entrando em cena, mas deve precisar de algum conhecimento sobre o script Ansible para entender ou executar o mesmo.

5. Quando devo usar o (())? Além disso, como interpolar variáveis ​​ou nomes de variáveis ​​dinâmicas?

Responda:
Uma das regras padrão é 'use sempre (()), exceto quando:'. Os condicionais são sempre executados no Jinja2 para resolver a expressão. Portanto, quando: failed_when: e changes_when: sempre são modelados e devemos evitar adicionar (()).
Em outros casos, exceto quando a cláusula tiver que usar colchetes, caso contrário, distinguir entre uma variável indefinida e String será muito difícil.

6. Como eu gero senhas criptografadas para o módulo do usuário?

Responda:
Um utilitário mkpasswd normal, disponível em um sistema Linux normal, é uma ótima opção para gerar senhas criptografadas.
mkpasswd –método = sha-512
De alguma forma, esse utilitário não está disponível em nosso sistema, suponha que estamos usando o OS X, e também podemos gerar facilmente essa senha usando o Python. Mas, para o mesmo, precisamos instalar a biblioteca de hash de senha do Passlib em nosso sistema.
Uma vez instalado, o comando execute gerará valores de senha do SHA512.
python -c “de passlib.hash import sha512_crypt; importação getpass; imprimir sha512_crypt.encrypt (getpass.getpass ()) ”

7. Qual é a melhor maneira de tornar o conteúdo reutilizável / redistribuível?

Responda:
Existem três maneiras de reutilizar arquivos nos playbooks do Ansible. Três maneiras incluem importações e funções.
As inclusões e importações estão realmente ajudando a criar vários arquivos pequenos de um manual grande ou dividir um manual grande com vários arquivos pequenos. Esses arquivos pequenos podem ser usados ​​em vários manuais de instruções principais ou até várias vezes no mesmo manual.
As funções são usadas principalmente para gerenciar várias tarefas em um pacote juntos. Pode incluir variáveis, manipuladores ou até módulos e outros plugins. As funções também podem ser carregadas e compartilhadas pelo Ansible Galaxy.

8. Como copio arquivos recursivamente para um host de destino?

Responda:
O módulo de cópia do Ansible possui um parâmetro recursivo. Mas o mais eficiente é usar o módulo de sincronização que envolve o rsync. Para o módulo de sincronização, podemos usar o comando abaixo:
-name: Copie pela configuração do h5bp
sincronizar: mode = pull src = / tmp / server-configs-nginx / ((item)) dest = / etc / nginx / ((item))
with_items:
- “mímica. tipos "
- "h5bp /"
Para copiar de remoto para remoto, use o mesmo comando, como delegate_to (como origem remota) e atual inventário_host (como destino remoto).

9. Playbooks Ansible vs Papéis e Ansible VS Puppet

Responda:
O Ansible Playbook é um sistema de gerenciamento de configurações e implantação de várias máquinas realmente simples. Se compararmos com outro, é muito popular e adequado para implantar um aplicativo complexo.
E as Funções no Ansible estão carregando automaticamente determinados var_files, tarefas e manipuladores com base em uma estrutura de arquivo conhecida. Funções que agrupam principalmente todo o conteúdo e são empacotadas. Também permite o fácil compartilhamento de funções com outros usuários.

AnsibleFantoche
Excelente desempenho, instalação e implantação sem agente.O desempenho é pouco questionável comparado ao Ansible e é uma instalação baseada em agente.
Baseado na linguagem PythonBaseado na linguagem Ruby
A CLI aceita comandos em quase todos os idiomas.Todos os clientes devem aprender o DSL Puppet.
Como é muito e não é bem testado, não pode dar uma solução adequada e madura para todas as situações sempre.Ele sempre fornece uma solução madura em comparação com o Ansible.
A GUI está em andamento.Good GUI
Não há suporte para WindowsSuporte para todos os principais sistemas operacionais

10. Diferença entre um nome de variável e Variáveis ​​de ambiente?

Responda:

Nome variávelVariável de ambiente
O nome da variável pode ser criado adicionando String.Para acessar a variável de ambiente, é necessário acessar a variável existente.
((hostvars (nome_do_host do inventário) ('ansible_' + qual_interface) ('ipv4') ('endereço')))#… Vars: local_home: “((pesquisa ('env', 'HOME')))” ”
Podemos adicionar StringsSe queremos adicionar a variável, precisamos abrir a seção de playbooks avançados.
Para o nome da variável, usamos o endereço IPV4.Para variáveis ​​de ambiente remoto, use ((ansible_env.SOME_VARIABLE))

Artigo recomendado

Este foi um guia para a lista de perguntas e respostas da entrevista Ansible, para que o candidato possa reprimir essas perguntas da entrevista Ansible facilmente. Esta é a publicação mais valiosa e útil das perguntas e respostas da entrevista da Ansible. Você também pode consultar os seguintes artigos para saber mais -

  1. 13 perguntas e respostas surpreendentes da entrevista sobre testes de banco de dados
  2. Conheça as 5 principais perguntas e respostas úteis da entrevista do SSIS
  3. 5 perguntas e respostas mais importantes da entrevista do Cognos
  4. As 5 perguntas e respostas mais úteis da entrevista do SSAS
  5. Ansible vs Puppet vs Chef | 18 principais diferenças