19 principais perguntas e respostas da entrevista de Ansible

Anonim

baixar PDF

1) O que é Ansible?

Ansible é um sistema de gerenciamento de configuração. Ele é usado para configurar e gerenciar a infraestrutura e os aplicativos. Ele permite que os usuários implantem e atualizem aplicativos usando SSH, sem a necessidade de instalar um agente em um sistema remoto.

2) Qual é a utilidade do Ansible?

Ansible é usado para gerenciar a infraestrutura de TI e implantar aplicativos de software em nós remotos.

Por exemplo, o Ansible permite que você implante como um aplicativo em muitos nós com um único comando. Porém, para isso, é necessário algum conhecimento de programação para compreender os scripts ansible.

3) O que é Ansible Galaxy?

O Ansible pode se comunicar com clientes configurados a partir da linha de comando usando o comando ansible. Também permite automatizar a configuração usando o comando ansible-playbook. Para criar a estrutura de diretório base, você pode usar uma ferramenta incluída no Ansible, conhecida como ansible-galaxy.

Comando:

$ ansible-galaxy init azavea. packer

azavea.packer foi criado com sucesso

4) O que é entrega contínua?

A entrega contínua é uma prática de entregar o software assim que ele é desenvolvido. Neste método, precisamos usar o sistema de controle de versão. O software é constantemente atualizado em sistemas de produção ao vivo.

5) Qual é a maneira de acessar as variáveis ​​de ambiente do shell no Ansible?

No Ansible, se você deseja acessar as variáveis ​​existentes, o usuário precisa usar o plugin de pesquisa 'env'. Exemplo, para acessar o valor do ambiente Office na máquina de gerenciamento:

Você precisa escrever o seguinte código:

---#… vars:local_home: "{{ lookup('env','Office') }}"I{{ ansible_env.SOME_VARIABLE }}

6) Qual é o código que você precisa escrever para acessar o nome de uma variável?

Os nomes das variáveis ​​podem ser construídos adicionando usando o seguinte método:

{{ hostvars[inventory_hostname]['ansible_' + which_interface]['ipv4']['address'] }} 

O método de usar hostvars é importante porque é um dicionário de todo o namespace de variáveis. A variável 'inventory_hostname' especifica o host atual que você está examinando no loop de host.

7) Explique como você pode desativar o cowsay?

Se o cowsay estiver instalado, executando playbooks dentro do Ansible, você pode desativar o coway usando as seguintes opções:

  1. Desinstalar cowsay
  2. Configurando valor para a variável de ambiente

exportar ANSIBLE_NOCOWS = 1

8) Explique como você pode copiar o arquivo recursivamente em um host de destino.

O módulo "copiar" possui um parâmetro recursivo. No entanto, se você deseja que isso tenha um desempenho mais eficiente para um grande número de arquivos, o módulo “sincronizar” é a melhor opção para você.

9) Como você pode enviar uma alteração à documentação no Ansible?

A documentação do Ansible é mantida no repositório git do projeto. Ele contém instruções completas para contribuir que podem ser encontradas nos documentos.

10) Qual é o melhor método para tornar o conteúdo reutilizável / redistribuível?

Você pode ler tudo sobre “Funções” na seção de documentação dos manuais. Isso ajuda a tornar o conteúdo do manual independente e compartilhável com outros usuários ansible.

11) O que é Ansible Tower?

A torre do Ansible é uma ferramenta que torna o Ansible muito fácil de usar. Ele atua como um hub para a automação de tarefas. A torre é gratuita para uso até 10 nós.

12) Qual é o método para verificar as variáveis ​​de inventário definidas para o host?

Para isso, use este comando:

ansible -m debug -a "var=hostvars['hostname']" localhost

13) Indique a diferença entre o nome da variável e as variáveis ​​de ambiente.

Nome variável

variáveis ​​ambientais

Ele pode ser construído adicionando strings. Para acessar a variável de ambiente, você precisa acessar as variáveis ​​existentes.
{{hostvars [inventário_hostname] ['ansible_' + which_interface] ['ipv4'] ['endereço']}} #… Vars: local_home: “{{lookup ('env', 'HOME')}}”
Permite adicionar strings Para definir variáveis ​​de ambiente, precisamos ver a seção de manuais avançados.
Uso do tipo de endereço IPv4 para nomes de variáveis, usamos o endereço ipv4. Para variáveis ​​de ambiente remoto, use {{ansible_env.SOME_VARIABLE}}

14) O que são comandos ad-hoc?

Você pode pensar em comandos ad-hoc como uma forma de realizarmos ações em nossos hosts sem escrever um manual. Por exemplo, se quisermos reinicializar todos os hosts em um determinado grupo (servidores da web). Em seguida, você pode escrever um manual ou simplesmente executar um comando ad-hoc único.

15) Explique os fatos possíveis

Você pode pensar em fatos ansíveis como uma forma de o ansible obter informações sobre um host e armazená-los em variáveis ​​para fácil acesso. Essas informações armazenadas em variáveis ​​predefinidas estão disponíveis para uso no manual. Para gerar fatos, o ansible executa o módulo de configuração.

16) Como você vê todas as variáveis ​​de um host?

Você pode vê-los usando a variável de variação do host. Isso armazena variáveis ​​de host com o nome do host como chave. Por exemplo, para examinar as variáveis ​​definidas para localhost, você pode executar;

ansible -m debug -a "var=hostvars[inventory_hostnam

17) Explique os módulos em ansible

Módulos em Ansible são idempotentes. Do ponto de vista do serviço RESTful, para que a operação seja idempotente, os clientes podem realizar o mesmo resultado usando módulos no Ansible. Vários pedidos idênticos tornam-se um único pedido.

Existem dois tipos diferentes de módulos no Ansible:

  • Módulos principais

  • Módulos extras

Módulos principais

A equipe da Ansible mantém esses tipos de módulos e eles sempre serão fornecidos com o software da Ansible. Eles também darão maior prioridade para todos os pedidos do que aqueles nos repositórios “extras”.

Módulos extras:

Esses módulos estão atualmente incluídos no Ansible, mas podem estar disponíveis separadamente no futuro. Eles também são mantidos principalmente pela comunidade Ansible. Esses módulos ainda podem ser usados, mas podem receber uma taxa menor de resposta a problemas e solicitações de pull.

18) Quando você deve testar manuais e funções?

No ansible, os testes podem ser adicionados em novos Playbooks ou em Playbooks existentes. Portanto, a maior parte do trabalho de teste oferece uma hospedagem limpa a cada vez. Usando essa metodologia de teste, você precisa fazer poucas ou nenhuma alteração no código.

19) Discuta o método para criar um arquivo vazio com o Ansible

Para criar e esvaziar o arquivo, você precisa seguir os passos dados.

Etapa 1. Salvar um arquivo vazio no diretório de arquivos

Etapa 2. Copie para o host remoto.