top 35 puppet interview questions
Лялька - це інструмент управління конфігурацією з відкритим кодом. У цьому навчальному посібнику ми надали найчастіші запитання та відповіді на інтерв’ю для ляльок:
У поточному гнучкому середовищі розробки розробники інтегрують свій код кілька разів на день і працюють додаткові години, щоб виконувати свої завдання.
Операційні групи працюють разом з розробниками додатків для інтеграції їх коду за допомогою інструментів контролю версій, перегляду коду для підтримки узгодженості проектування та реалізації серед багатьох розробників, розгортання різних збірок для тестування. Крім того, вони повинні підтримувати системи та сервери в робочому стані.
Різні системи та сервери при постійному запуску стають схильними до несправностей. У великих організаціях з величезною клієнтською базою підтримка інфраструктури стає непростим завданням.
У разі нещодавно встановленої інфраструктури або для підтримання існуючої в належному стані, DevOps встановлює інструменти конфігурації, такі як Puppet, які автоматично встановлюють конфігурацію за замовчуванням для нових машин та скидають конфігурацію невдалих інфраструктур, що утримують їх у робочому стані.
Що ви дізнаєтесь:
Що таке інструмент програмного забезпечення для ляльок
Puppet - це інструмент управління конфігурацією з відкритим кодом, який автоматизує та керує конфігурацією сервера. Його код, написаний мовою специфічної для домену (DSL), є декларативним, де описується бажаний стан наших систем. Цей інструмент автоматизує оновлення стану цих систем, як описано за допомогою маріонетки та їх агента.
У разі відмови сервера код допомагає серверу повернутися до попереднього робочого стану. Крім того, інструмент розгортає сервери на вимогу та накладає на них безпеку.
За допомогою цього інструменту управління конфігурацією можна керувати протоколом мережевого часу (NTP), привілеями Sudo для ідентифікації користувачів з підвищеними привілеями доступу, крім цього сервера імен системи доменних імен (DNS), а також брандмауером.
Найчастіші запитання щодо лялькових інтерв’ю
Q # 1) Поясніть лялькове підприємство.
Відповідь: Лялькове підприємство - це інструмент конфігурації або він називається автоматизованим кодом, де інформація про інфраструктуру, наприклад програмне забезпечення, та їх налаштування вже визначені для системи та сервера, щоб їх можна було встановити, середовище можна було налаштувати при встановленні нової інфраструктури та періодичній верифікації забезпечити, щоб ці системи та сервери залишались у бажаному стані.
Q # 2) Опишіть лялькову архітектуру.
Відповідь: Лялька дотримується декларативного підходу до програмування, де код вказує, що робити, але не повідомляє кроки про те, як це зробити.
На основі розгортання, заснованого на Pull, вузли агента регулярно перевіряють головний вузол протягом 30 хвилин на наявність будь-яких змін в агенті. У разі потреби зміни, агент витягує певний код з ведучого і виконує необхідні дії на вузлі агента.
- Агент надсилає Факти, тобто його стан у парі даних ключ / значення, ведучому. Стан включає операційну систему системи, час роботи, тобто систему часу працює, IP-адресу, тобто фізичну або віртуальну машину.
- Використовуючи інформацію про факти, майстер складає Каталог, який описує, як слід налаштувати агент. Каталог, документ пояснює бажаний стан ресурсів агента, яким керує майстер на агенті.
- Агент відповідає майстру інформацією про завершення конфігурації, яку можна переглянути на інформаційній панелі 'Лялька'.
Q # 3) Поясніть, як працює лялька.
Відповідь: Це пояснюється наступним чином:
Суб'єкти, необхідні для бігу, включають Лялькового майстра та Лялькового агента.
Агент або вузли - це демони, що працюють на клієнтських серверах. Ці сервери потребують деяких конфігурацій або керування ними за допомогою Puppet. Цей агент регулярно перевіряє конфігурації з майстром на будь-які зміни. Master складається з усіх конфігурацій, що зберігаються для різних хостів, і виконується як демон на головному сервері. Агент і ведучий з'єднуються через рівень захищених сокетів (SSL).
Вузол з'єднує master, master аналізує, яку конфігурацію і як її можна застосувати до вузла. Після аналізу майстер збирає ресурси та конфігурації, складає та складає каталог і надсилає його агенту вузла. Після застосування конфігурації агент подає звіт про конфігурацію, який був застосований до головного сервера.
Q # 4) Опишіть ляльковий модуль.
Відповідь: Модулі - це основні будівельні блоки маріонетки в структурі каталогів, що містить класи, завдання, функції, постачальників ресурсів та їх типи, а також плагіни, такі як факти чи власні типи. Обов’язково мати модулі, встановлені на шляху маріонетки. Ці модулі використовуються для управління такими завданнями, як встановлення або конфігурація програмного забезпечення на систему або сервер.
Клацніть тут доступні готові модулі.
Q # 5) Що таке каталог у ляльках?
Відповідь: Каталог - це документ із відомостями про стан кожного майстра ресурсів, який керує вузлом. Майстер складає каталог і відправляє назад агенту. У ньому є дані, надані агентом у вузлі, зовнішні дані та деталі, пов’язані з маріонетками.
Q # 6) Визначте класи в ляльковому.
Відповідь: Класи - це блоки коду, що викликаються їх іменами, присутніми в модулях. Класи використовуються для функціонування всіх пакетів, служб та файлів конфігурації, необхідних для запуску програми. Вони можуть бути додані до каталогу вузла двома можливими способами, тобто оголошення цих класів у маніфестах або шляхом призначення із зовнішнього класифікатора вузлів.
Класи можна оголосити в маніфесті двома способами:
Використовуючи включати ім'я_класу АБО за допомогою клас {‘Назва класу’:}
запитання та відповіді на співбесіду на етапі даних pdf
Структура лялькових класів пояснюється на малюнку нижче:
Q # 7) Що таке маніфест у ляльці?
Відповідь: Усі програми для ляльок, написані мовою програмування Ruby та збережені з розширенням .pp, і побудовані з метою створення та управління будь-якою хост-машиною в цільовій програмі, називаються маніфестом.
Це містить Файли (лялька вибирає та переміщує ці файли у цільове місце), Шаблони (використовується для створення конфігураційних файлів на вузлі), Вузли (визначення вузлів клієнтського вузла описані на вузлах), Ресурси , і Заняття.
Q # 8) Детально опишіть Facter in ляльковий.
Відповідь: Facter - це систематизована міжплатформна бібліотека, яка виявляє та передає інформацію про систему по вузлу, відому як факти, представлену як змінну зі значеннями у форматі ключ-значення в маніфестах.
Фактори та факти доступні в коді Ляльки як глобальні змінні, їх можна використовувати в коді без будь-яких посилань у будь-якій точці та будь-якому місці коду. Facter - це бібліотека, яка визначає деталі фактів, які можуть містити використовувану операційну систему, ключі SSH, IP-адресу, перевірку віртуальної машини чи ні, MAC-адреси тощо.
Нижче пояснюються різні типи використовуваних фактів:
- Основні факти: Це інформація про такі ресурси, як хмара, диски, пам’ять, ОС, шлях, процесори та розділи. Ми можемо використовувати наступну команду для перегляду повного списку фактів та їх відповідних значень у форматі ключ-значення.
- $ бігають лялькові факти
- Спеціальні факти: За допомогою експорту FACTER {fact’s_name} ми можемо додати до вузла власні факти. Ці факти налаштовані для того, щоб відповідати певним вимогам DevOps.
- Зовнішні факти: Щоб застосувати факти на етапі забезпечення, ми можемо використовувати зовнішні факти, застосовувати метадані до віртуальних машин у хмарних провайдерах AWS, OpenStack.
Q # 9) Що ви маєте на увазі під Ляльковим ударом?
Відповідь: Лялька Kick, застаріла в поточній версії, - це утиліта, яка запускає агент від ведучого. Відповідно до посібників Ubuntu, «маріонетка» - це скрипт, який потрібно запускати як root для доступу до сертифікатів рівня захищених сокетів (SSL), підключення набору машин, що запускають агент, і запуску їх для запуску своїх конфігурацій.
Крім того, ця команда також шукає у Легкому протоколі доступу до каталогів (LDAP) для хостів, що відповідають цій конфігурації, підключається до кожного з них та запускає їх конфігурацію. Для того, щоб почати роботу, агент повинен ідентифікувати та визначати вхідні з'єднання та мати доступ до дозволу на запуск кінцевих точок.
Q # 10) Опишіть функціональність MCollective у Puppet.
Відповідь: MCollective або Marionette Collective - це основа для створення автоматизованої координації, управління та впорядкування складної інфраструктури, тобто систем та серверів, відомих як Orchestration. Адміністративні завдання на кластерах серверів можуть бути автоматично виконані за допомогою MCollective.
Їх компонентами є сервери, клієнти та проміжне програмне забезпечення. За допомогою команд MCollective ми можемо запитувати значення фактів, запускати та зупиняти служби, запускати сам інструмент конфігурації, а також запитувати та оновлювати програмне забезпечення.
Q # 11) У чому особливість дизайну, що керується моделлю Puppet?
Відповідь: Раніше системні адміністратори виконували ряд кроків для налаштування та управління інфраструктурою, яка включає кілька груп систем та серверів. У підході до дизайну, керованому моделлю, Puppet, який є автоматизованим кодом, написаним на Ruby, містить усі деталі конфігурації, які збираються в каталог.
Цей каталог надсилається на кожний вузол та надає спільний доступ до ресурсів, значень та їх відносин; для пошкоджених систем виконується необхідна зміна конфігурації, щоб відновити їх до нормального робочого стану.
Q # 12) Наведіть кілька прикладів використання ляльки.
Відповідь: Лялька використовується для управління та стандартизації розгортання інфраструктури.
Вимога: Компанія Startup перенесла свою інфраструктуру до постачальників хмарних послуг, таких як веб-сервер Amazon або сервіси Google Cloud. Кінцевий користувач відповідає за створення, стандартизацію та обслуговування систем та серверів на різних платформах, додатках та послугах і хоче встановити та використовувати Puppet для полегшення їхнього завдання.
Сценарій 1: Адміністратори використовують інструменти для стандартизації своїх серверів та систем, такі як створення файлу маніфесту, який містить кроки, записані в коді конфігурації, для побудови свого нового сервера.
Наприклад,
- Встановлення операційної системи, скажімо Linux.
- Перевірка місця на диску Linux за допомогою програмного забезпечення File light або DUC.
- Встановлення Java.
- Встановлення Tomcat.
- Встановлення сервера SQL як RDBMS.
- Встановлення виправлення для програми, яку потрібно створити та протестувати для учасника розробки програмного забезпечення.
Сценарій 2: Створення файлу з переліком усіх вищезазначених кроків у маніфесті, який можна запустити за допомогою маріонетки для виконання кроків, автоматично зазначених у файлі маніфесту. Таким чином виконується стандартизація кроків під час розгортання нової системи за допомогою маніфесту та команди.
Сценарій 3: Створений маніфест буде використаний для створення хмарного сервера за допомогою API, щоб усі завдання, що виконуються вручну, могли бути виконані автоматично.
Q # 13) Поясніть команди “etckeeper-commit-post” та “etckeeper-commit-pre”.
Відповідь: Далі наводиться різниця між обома командами
- etckeeper-commit-post це команда, записана у файл конфігурації, яка може бути виконана після натискання конфігурації на агента.
- etckeeper-commit-pre це команда, записана у файлі конфігурації, яка може бути виконана перед натисканням конфігурації на агента.
Q # 14) Перерахувати символи, дозволені в назві класу, назві модуля та ідентифікаторах?
Відповідь: Нижче наведені допустимі символи під час оголошення імені класу та імені модуля:
- Потрібно починати з малої літери.
- Може включати малі літери, цифри та підкреслення.
- Scope Resolution Operator, тобто “::” - це роздільник простору імен у визначенні імені класу.
З іменем змінної приймаються такі символи, як зазначено нижче:
- Може починатися з великих та малих літер.
- Може містити цифри та підкреслення («_»).
- Якщо перший символ є підкресленням, тоді змінна може бути доступна лише з її власного локального обсягу.
- Змінні чутливі до регістру.
Запитання № 15) Що очікувати, якщо ви не підпишете ліцензійну угоду про співпрацю?
Відповідь: Обов’язковою умовою є підписання ліцензійної угоди (CLA) для учасників коду для Puppet або Facter, без яких їх код не може бути прийнятий. Щоб знайти та завантажити код Ляльки або Фактора, написаний на Ruby, користувач повинен увійти до свого облікового запису GitHub та підписати угоду.
Q # 16) Поясніть важливість та місцезнаходження кодедіру в Ляльці?
Відповідь: codedir використовується майстром і командою apply, але не агентом. Це основний каталог даних і коду, який використовує середовище, що містить маніфести та модулі, глобальний каталог модулів та дані та конфігурацію Hiera.
Цей код знаходиться у наступних місцевих каталогах
У випадку з Windows: C: ProgramData PuppetLabs puppet тощо
Тоді як для Linux: / etc / dir / PuppetLabs / code
Q # 17) Опишіть Ієру.
Відповідь: Hiera - це система пошуку даних конфігурації у форматі ключ-значення. Це допомагає отримувати дані з лялькового коду. Цей код використовує цю систему для явних викликів пошуку параметрів для класів з каталогу. Ця система використовує факти Ляльки для виявлення джерел даних. Його 5говерсія підтримує файли даних у форматах JSON, YAML та EYAML.
Він здійснює пошук даних конфігурації у трьох незалежних рівнях конфігурації, починаючи від глобального, а потім середовища, і, нарешті, модульний рівень конфігурації.
Q # 18) Опишіть віртуальні ресурси в ляльковому.
Відповідь: Під час налаштування маріонетки виникає помилка декларації дубльованого ресурсу, якщо той самий ресурс використовується більше одного разу. Цей інструмент вирішує цю проблему шляхом введення віртуального ресурсу. Оголошення віртуального ресурсу робить його доступним для колекторів та реалізує функції. Так само добре управляє станом, коли ресурс реалізований.
Ви можете знайти нереалізовані віртуальні ресурси, позначені як неактивні, включені до каталогу. Віртуальні ресурси застосовуються для управління ресурсами, чиї умови виконуються у різних класах, а також для накладених наборів ресурсів кількома класами.
Як додати ціле число до масиву в Java
Q # 19) Опишіть шлях до модуля.
Відповідь: Майстер-служба та за допомогою команди маріонетки застосовують там, де лялькові маніфести застосовуються локально, завантажують їх вміст із модулів (встановлених у маріонетковому шляху модулів) з одного або декількох каталогів. Це впорядкований список каталогів, які шукає модулі Puppet. Ці каталоги зі списку шляхів модуля розділені символом-роздільником.
У Linux це двокрапка (:), а у Windows - точка з двокрапкою (;).
Q # 20) Надайте детальну інформацію про базовий шлях модуля.
Відповідь: Список глобальних каталогів модулів - це основний шлях модуля для застосування у всіх середовищах, налаштованих із налаштуванням базового шляху модуля, із значенням за замовчуванням, як показано нижче:
У випадку з Linux: $ codedir / модулі: / opt / puppetlabs / лялька / модулі
У випадку з Windows: $ codedir модулі
Q # 21) Опишіть каталог Cache у Puppet.
Відповідь: Маріонетка під час звичайних операцій зберігає генеровані дані в каталозі кешу, званому vardir. Ці дані можна видобувати для аналізу. У випадку агента та застосувати команду, Каталог кешу можна знайти в одному з таких місць:
У випадку з Windows це так C: запрограмований PuppetLabs puppet cache
Тоді як у Linux це так / opt / puppetlabs / puppet / cache , або, використовуючи параметр –vardir у командному рядку, буде вказано розташування каталогу маріонеткового кешу. Ми можемо змінити розташування файлів і каталогів vardir, змінивши налаштування puppet.conf.
Q # 22) Поясніть про “Середовища” в Ляльковому.
Відповідь: Середовище - це логічний розподіл, який відокремлює модулі та маніфестується на окремі розділи або папки для вузлів, щоб отримати біт коду в залежності від того, до якого вузла належить вузол, він статично встановлюється в puppet.conf. Це функція розділення конфігурації інфраструктури на середовища. Адміністратор може використовувати один головний пристрій для обслуговування кількох ізольованих конфігурацій.
Q # 23) Опишіть ресурси в ляльковому.
Відповідь: Puppet Resources використовує побудову, проектування та управління системною або серверною інфраструктурою. Цей інструмент має кілька типів ресурсів для побудови та визначення нових ресурсів для визначення архітектури системи. Блок маріонеткового коду у файлі маніфесту (декларація ресурсу) створюється за допомогою мови декларативного моделювання (DML).
Це містить Тип ресурсу, параметр ресурсу, атрибути, і Цінності.
Q # 24) Поясніть типи ресурсів у ляльковому.
Відповідь: Компоненти системи, керовані маріонетками, аналізуються за допомогою типів ресурсів. Мало типових типів ресурсів - це група, пакет, користувач, файл та послуга.
Існує два типи ресурсів, вбудовані типи та спеціальні типи. Деякі вбудовані типи ресурсів - це група, пакет, користувач, файл та послуга. Ви можете знайти власні типи, що розповсюджуються в лялькових модулях за посиланням forge.puppet.com.
Q # 25) Поясніть визначення вузла в маріонетках.
Відповідь: Визначення або твердження вузла - це блок маріонеткових кодів, який відповідає каталогу вузла. Це дозволяє призначити певну конфігурацію ураженому вузлу.
Їх синтаксис схожий на синтаксис визначень класів із ключовим словом вузла, іменем визначення вузла, відкриваючою фігурною дужкою, сумішшю оголошень класів та ресурсів, колекторів, змінних, умовних операторів, функцій та ланцюгових зв'язків, нарешті, фінальної фігурної дужки.
Q # 26) Опишіть функції ляльки.
Відповідь: Лялькові функції - це плагіни, які використовуються під час складання каталогу. Виклик функції за допомогою маніфесту робить функцію запуском і повертає значення і модифікує каталог як побічний ефект.
безкоштовне програмне забезпечення для видалення шкідливих програм
Можна створити власні функції, які приймають аргументи через параметри для перетворення даних та побудови значень. Це плагіни або вирази, що викликаються для того, щоб визначити їх значення і можуть бути як вбудованими, так і налаштованими.
Q # 27) Наведіть приклади налаштування систем за допомогою Puppet
Відповідь: Нижче наведено кілька прикладів системи, налаштованої на маріонетку:
- Керування службою NTP: Протокол мережевого часу (NTP) - це найважливіші служби, якими можна керувати та конфігурувати за допомогою маріонетки для синхронізації часу на всіх вузлах.
- Керуйте привілеями судо: Команда Sudo на ваших агентах ідентифікує користувачів системи з підвищеними правами доступу.
- Керування файлом сервера імен DNS: Сервером імен, який відображає IP-адреси, зрозумілі для комп’ютерів, з доступними для читання URL-адресами можна керувати за допомогою цього інструменту налаштування.
- Керування правилами брандмауера: Різні правила та політики, такі як порти додатків (TCP / UDP), мережеві порти, IP-адреси та заяви про заборону доступу, можуть бути розроблені за допомогою брандмауера, а також керувати політикою брандмауера інструменту.
Q # 28) Опишіть головний або маніфест сайту в ляльці.
Відповідь: Агент надсилає стан ресурсів, що називаються фактами, на основі отриманої інформації. Майстер складе каталог у вигляді єдиного файлу маніфесту, відомого як основний або маніфест сайту. Майстер використовує головний файл маніфесту, або одиночний, або каталог .pp файлів, налаштований поточним середовищем вузла, який за допомогою налаштування маніфесту в середовищі.conf визначає основний маніфест.
Q # 29) Що ви маєте на увазі під заявою маріонетка?
Відповідь: Застосування маріонетки - це автономна команда виконання для застосування до окремого маніфесту. Цей код, застосовуваний до модуля шляхом командного рядка або конфігураційного файлу, діє як каталог. «Лялька застосовується» - це код командного рядка для застосування конфігурації.
Q # 30) Перелічіть компанії, які використовують Ляльку.
Відповідь: Небагато транснаціональних корпоративних організацій, які використовують ляльку в управлінні та конфігурації інфраструктури, є:
- KPN - голландська фіксована та мобільна телекомунікаційна компанія, Нідерланди
- CERN - Європейська організація з ядерних досліджень
- Aegon UK - постачальник фінансових послуг
- NYSE - Нью-Йоркська фондова біржа
- ДВЗ - Міжконтинентальний обмін
- АНЗ Банк
- Cisco
- Спанкл
Q # 31) Поясніть, які підготовчі роботи перед встановленням вам знадобляться перед встановленням Puppet Open Source.
Відповідь: Перед встановленням Puppet Open Source є кілька підготовчих заходів та вимог
- Вибір сервера в якості ведучого.
- Сервери перевірки та мережа готові та підготовлені до встановлення з наступними інструкціями:
- Вибір типу розгортання для обраного сервера. Ми можемо використати стек-ляльковий посуд на основі Docker або, якщо у вас вже є Docker, клонуйте репо.
- запустити команду docker-compose up
- Встановлення агентів
- Після налаштування Puppet Server нам потрібно встановити пакет агентів на машині вузлів, на якій потрібен інструмент управління конфігурацією.
- На основі вашої операційної системи вам слід вибрати Linux, OS X та Microsoft Windows.
- Ви можете використовувати NTP та sudoers для автоматизації лялькового коду для проектування конфігурації.
Q # 32) Поясніть лялькове підприємство.
Відповідь: Puppet Enterprise можна масштабувати між різними командами, системами, локальними або хмарними серверами, впроваджуючи політику відповідності та безпеку, а також конфігурацію локальної та хмарної інфраструктури, що мігрує, з нульовим простоєм.
Він також формує звіти про стан побудованого коду, а також інформацію про те, хто і які зміни були внесені в інфраструктурний код, ініціює перевірку аналізу через регулярні проміжки часу на інфраструктуру, щоб оцінити будь-який вплив до будь-яких випадків.
Q # 33) Опишіть Засіб від ляльок.
Відповідь: Він сканує інфраструктуру та виробляє дані про вразливості у простежуваних та перевіряваних форматах, щоб визначити пріоритети своїх рішень. Виправляйте засоби балансування, які оцінюють вразливості та визначають пріоритети завдань, які потребують негайного вирішення, відвідує такі завдання, запускаючи заздалегідь створені завдання, такі як керування пакетом, службами або запуск сценарію оболонки та негайне вирішення проблем.
Q # 34) Поясніть, як працює лялькова естафета.
Відповідь: Puppet Relay відстежує вашу інфраструктуру та запускає сценарії автоматизації, які не лише запускають сповіщення у випадку будь-яких інцидентів за допомогою API, інструментів DevOps, доступних підключенням локальних або хмарних систем, але скидає екземпляр, використовуючи деталі конфігурації за замовчуванням, наявні в каталогах з маніфесту, і нарешті інформує команда інстанції.
Q # 35) Що таке Bolt?
Відповідь: Bolt автоматизує координацію, управління та налаштування комп’ютерних систем та супутніх служб, які раніше оброблялися вручну, та підтримує всю інфраструктуру організації.
Висновок
Puppet - це автоматизований інструмент управління конфігурацією для внутрішньої і віртуальної інфраструктури, який слідує за моделлю клієнт-сервер, де одна машина є головною, а інші машини виступають агентом або вузлами. Його основне призначення - керувати ресурсами на сервері вашої інфраструктури. Ресурс - це код, який керує такими характеристиками сервера, як обліковий запис користувача чи вміст програмного забезпечення.
Цей інструмент управління конфігурацією дає нам можливість виражати конфігурацію сервера в коді для автоматичного управління вашою інфраструктурою.
Ми впевнені, що цей посібник з питань лялькових інтерв’ю допоможе вам підготуватися до майбутньої співбесіди.
Рекомендована література
- Запитання та відповіді на інтерв’ю
- Запитання та відповіді на інтерв’ю для тестування ETL
- Деякі хитрі ручні тестування Питання та відповіді
- 35+ Кращі запитання та відповіді на інтерв’ю Apache Tomcat
- Найпопулярніші 35 запитань та відповідей на питання інтерв’ю
- 35+ Найпоширеніші запитання та відповіді на інтерв’ю Microsoft Excel
- Найкращі 35 запитань та відповідей на інтерв’ю Android
- ТОП 35 запитань та відповідей на інтерв’ю HTML5