19 самых популярных вопросов и ответов на собеседовании

Anonim

Скачать PDF

1) Что такое Ansible?

Ansible - это система управления конфигурацией. Он используется для настройки и управления инфраструктурой и приложениями. Он позволяет пользователям развертывать и обновлять приложения с помощью SSH без необходимости установки агента в удаленной системе.

2) Какая польза от Ansible?

Ansible используется для управления ИТ-инфраструктурой и развертывания программных приложений на удаленных узлах.

Например, Ansible позволяет развертывать приложение на многих узлах с помощью одной единственной команды. Однако для этого необходимы некоторые знания программирования, чтобы понимать доступные скрипты.

3) Что такое Ansible Galaxy?

Ansible может связываться с настроенными клиентами из командной строки с помощью команды ansible. Он также позволяет автоматизировать настройку с помощью команды ansible-playbook. Чтобы создать базовую структуру каталогов, вы можете использовать прилагаемый к Ansible инструмент, известный как ansible-galaxy.

Команда:

$ ansible-galaxy init azavea. packer

azavea.packer успешно создан

4) Что такое непрерывная доставка?

Непрерывная доставка - это практика доставки программного обеспечения сразу после его разработки. В этом методе нам нужно использовать систему контроля версий. Программное обеспечение постоянно обновляется в системах реального времени.

5) Как получить доступ к переменным среды оболочки в Ansible?

В Ansible, если вы хотите получить доступ к существующим переменным, пользователю необходимо использовать плагин поиска env. Пример, чтобы получить доступ к значению среды Office на управляющей машине:

Вам нужно написать следующий код:

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

6) Какой код нужно написать для доступа к имени переменной?

Имена переменных могут быть построены путем добавления с помощью следующего метода:

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

Метод использования hostvars важен, потому что это словарь всего пространства имен переменных. Переменная inventory_hostname указывает текущий хост, который вы просматриваете в цикле хоста.

7) Объясните, как можно отключить cowsay?

Если cowsay установлен, то, выполняя playbooks внутри Ansible, вы можете отключить coway, используя следующие параметры:

  1. Удалить Cowsay
  2. Установка значения для переменной окружения

экспорт ANSIBLE_NOCOWS = 1

8) Объясните, как можно рекурсивно скопировать файл на целевой хост?

Модуль «копировать» имеет рекурсивный параметр. Однако, если вы хотите, чтобы это работало более эффективно для большого количества файлов, то модуль «синхронизация» - лучший вариант для вас.

9) Как вы можете внести изменения в документацию в Ansible?

Документация по Ansible хранится в репозитории проекта git. Он содержит полные инструкции по внесению вклада, которые можно найти в документации.

10) Как лучше всего сделать контент повторно используемым / распространяемым?

Вы можете прочитать все о «ролях» в разделе документации playbooks. Это помогает сделать контент playbook самодостаточным и доступным для других пользователей.

11) Что такое Ansible Tower?

Ansible tower - это инструмент, который делает Ansible очень простым в использовании. Он действует как центр автоматизации задач. Башня бесплатна для использования до 10 узлов.

12) Каким методом можно проверить вары инвентаря, определенные для хоста?

Для этого используйте эту команду:

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

13) Укажите разницу между именем переменной и переменными среды.

Имя переменной

Переменные среды

Его можно построить, добавив строки. Чтобы получить доступ к переменной среды, вам необходимо получить доступ к существующим переменным.
{{hostvars [inventory_hostname] ['ansible_' + which_interface] ['ipv4'] ['address']}} #… Vars: local_home: «{{lookup ('env', 'HOME')}}»
Позволяет добавлять строки Чтобы установить переменные среды, нам нужно увидеть раздел расширенных playbooks.
Тип адреса IPv4 используется для имен переменных, мы используем адрес IPv4. Для переменных удаленной среды используйте {{ansible_env.SOME_VARIABLE}}.

14) Что такое специальные команды?

Вы можете думать о специальных командах как о способе выполнения нами действий с нашими хостами без написания учебного пособия. Например, если мы хотим перезагрузить все хосты в определенной группе (веб-серверах). Затем вы можете написать сценарий или просто выполнить одноразовую специальную команду.

15) Объясните Ansible факты

Вы можете думать об анзибле как о способе для анзибля получать информацию о хосте и сохранять их в переменных для облегчения доступа. Эта информация, хранящаяся в предварительно определенных переменных, доступна для использования в сборнике воспроизведения. Для создания фактов ansible запускает модуль настройки.

16) Как вы видите все переменные для хоста?

Вы можете увидеть их с помощью переменной host. Здесь хранятся переменные хоста с именем хоста в качестве ключа. Например, чтобы посмотреть переменные, определенные для localhost, вы можете запустить;

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

17) Объяснять модули в анзибле

Модули в Ansible идемпотентны. С точки зрения службы RESTful, чтобы операция была идемпотентной, клиенты могут получить тот же результат, используя модули в Ansible. Несколько одинаковых запросов становятся одним запросом.

В Ansible есть два разных типа модулей:

  • Основные модули

  • Дополнительные модули

Основные модули

Команда Ansible поддерживает эти типы модулей, и они всегда будут поставляться с программным обеспечением Ansible. Они также будут отдавать более высокий приоритет всем запросам, чем запросы в репозиториях «extras».

Дополнительные модули:

Эти модули в настоящее время идут в комплекте с Ansible, но в будущем могут быть доступны отдельно. Они также в основном поддерживаются сообществом Ansible. Эти модули по-прежнему можно использовать, но они могут получить меньшую скорость ответа на проблемы и запросы на вытягивание.

18) Когда следует тестировать сценарии и роли?

По сути, тесты могут быть добавлены либо в новые Playbook, либо в существующие Playbook. Поэтому большая часть работы по тестированию каждый раз предлагает чистый хостинг. Используя эту методологию тестирования, вам нужно практически не вносить изменений в код.

19) Обсудите метод создания пустого файла с помощью Ansible

Чтобы создать и очистить файл, вам необходимо выполнить указанные шаги.

Шаг 1. Сохраните пустой файл в каталоге файлов.

Шаг 2. Скопируйте его на удаленный хост.