Изтеглете PDF
1) Какво е отговорно?
Ansible е система за управление на конфигурацията. Използва се за създаване и управление на инфраструктура и приложения. Той позволява на потребителите да разгръщат и актуализират приложения, използвайки SSH, без да е необходимо да инсталират агент на отдалечена система.
2) Каква е ползата от Ansible?
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, изпълняването на плейбуци в Ansible можете да деактивирате coway, като използвате следните опции:
- Деинсталирайте cowsay
- Настройване на стойност за променливата на средата
експортиране ANSIBLE_NOCOWS = 1
8) Обяснете как можете да копирате файл рекурсивно на целевия хост?
Модулът "копиране" има рекурсивен параметър. Ако обаче искате това да работи по-ефективно за голям брой файлове, тогава модулът „синхронизиране“ е най-добрият вариант за вас.
9) Как можете да изпратите промяна в документацията в Ansible?
Документацията за Ansible се съхранява в хранилището на git на проекта. Той съдържа пълни инструкции за участие, които можете да намерите в документите.
10) Кой е най-добрият метод за превръщане на съдържанието в многократна / разпространима?
Можете да прочетете всичко за „Ролите“ в раздела за документация на книгите за игри. Това помага да се направи съдържанието на книгата за игри самостоятелно и да се споделя с други потребители, които отговарят.
11) Какво е Ansible Tower?
Ansible кулата е инструмент, който прави Ansible много лесен за използване. Той действа като център за автоматизация на задачите. Кулата е безплатна за използване до 10 възли.
12) Какъв е методът за проверка на инвентарните вариации, дефинирани за хоста?
За това използвайте тази команда:
ansible -m debug -a "var=hostvars['hostname']" localhost
13) Посочете разликата между името на променливата и променливите на околната среда.
Име на променлива |
Променливи на околната среда |
Може да се изгради чрез добавяне на низове. | За достъп до променливата на средата трябва да осъществите достъп до съществуващите променливи. |
{{hostvars [име_на_хост] ['ansible_' + which_interface] ['ipv4'] ['адрес']}} | #… Vars: local_home: „{{lookup ('env', 'HOME')}}“ |
Позволява добавяне на низове | За да зададем променливи на средата, трябва да видим раздела за разширени книги за игри. |
Използваме типа адрес на ipv4 за имена на променливи, използваме адреса на ipv4. | За променливи на отдалечена среда използвайте {{ansible_env.SOME_VARIABLE}} |
14) Какво представляват ad-hoc командите?
Можете да мислите за ad-hoc командите като начин да предприемем действия спрямо нашите домакини, без да пишем книга за игри. Например, ако искаме да рестартираме всички хостове в определена група (уеб сървъри). След това можете да напишете книга за игри или просто да изпълните еднократна ad-hoc команда.
15) Обяснете отговорните факти
Можете да мислите за фактите за ansible като начин за ansible да получи информация за хост и да ги съхранява в променливи за лесен достъп. Тази информация, съхранявана в предварително дефинирани променливи, е достъпна за използване в книгата за игри. За да генерира факти, ansible стартира модула за настройка.
16) Как виждате всички променливи за хост?
Можете да ги видите с помощта на променливата за хост варира. Това съхранява променливи на хост с име на хост като ключ. Например, за да разгледате променливите, дефинирани за localhost, можете да стартирате;
ansible -m debug -a "var=hostvars[inventory_hostnam
17) Обяснете модулите в ансибъл
Модулите в Ansible са идемпотентни. От гледна точка на услугата RESTful, за да бъде идемпотентната операцията, клиентите могат да изпълняват същия резултат, като използват модули в Ansible. Множество идентични заявки се превръщат в една заявка.
В Ansible има два различни типа модули:
-
Основни модули
-
Допълнителни модули
Основни модули
Екипът на Ansible поддържа тези видове модули и те винаги ще се доставят със софтуер Ansible. Те също така ще дадат по-висок приоритет за всички заявки от тези в репозиториите „екстри“.
Допълнителни модули:
Понастоящем тези модули са в комплект с Ansible, но в бъдеще може да се предлагат отделно. Те също се поддържат предимно от общността Ansible. Тези модули все още са използваеми, но може да получи по-нисък процент на отговор на проблеми и заявки за изтегляне.
18) Кога трябва да тествате книги за игри и роли?
Отговорно, тестовете могат да се добавят или в нови Playbooks, или към съществуващи Playbooks. Следователно по-голямата част от работата за тестване предлага чист хостинг всеки път. Използвайки тази методология за тестване, трябва да направите много малко или никакви промени в кода.
19) Обсъдете метод за създаване на празен файл с Ansible
За да създадете и изпразните файл, трябва да следвате дадените стъпки.
Стъпка 1. Запазете празен файл в директорията с файлове
Стъпка 2. Копирайте го на отдалечения хост.