Яку роль відіграють інструменти управління конфігурацією у незмінній інфраструктурі?


12

Якщо я використовую незмінні сервери / контейнери, чи потрібні мені такі інструменти, як «Шеф-кухар», «Маріонетка», «Ansible» або «Сіль»? Ці інструменти керування конфігурацією розроблені для встановлення конфігурації та її підтримки.

Якщо я розгортаю незмінні сервери, чи слід використовувати інструменти управління конфігурацією лише для початкового забезпечення?

Відповіді:


12

На це є кілька відповідей:

  1. Щось потрібно для створення цих незмінних образів. Безумовно, простіше використовувати старі шкільні процедурні сценарії, щоб створити щось, починаючи з відомого початкового стану, але це все одно може стати дуже непростим з часом (наприклад, Dockerfiles), особливо коли ви в кінцевому підсумку бажаєте великої матриці різних зображень для такі речі, як різні версії програмного забезпечення, різні середовища тощо. Пакер та інші інструменти для створення зображень чудово інтегруються з шеф-кухарем, Ansible, Puppet, Salt тощо.

  2. Незмінюваність - це спектр, а не двійковий. Навіть у «дуже непорушному» розгортанні не рідкість наявність деяких файлів конфігурації, які потребують управління часом виконання. Це також місце, де можна використовувати засоби CAPS, хоча варіанти легшої ваги, такі як шаблони для консулів або etcd, можуть мати більше сенсу залежно від загальної інфраструктури. Якщо ви працюєте з незмінними серверами додатків, але серверами баз даних традиційно керують за допомогою шеф-кухаря, то, можливо, має сенс використовувати шеф-кухаря навіть у незмінному боці для незначних завдань управління.

  3. Нульовий день управління. Незмінність приємна, але що ви збираєтеся робити, коли наступний OpenSSL 0day впаде? Якщо у вас є конвеєр побудови в змозі створювати негайні виправлення зображення та розгортати їх, тоді це чудово. Але багато людей, мабуть, не матимуть такої здатності до швидкого повороту.

  4. Те, що не може бути непорушним. Невідповідь, але ціла інфраструктура рідко на 100% незмінна. Такі речі, як сервери баз даних і робочі станції розробників (так, вони є частиною вашої інфрачервоної системи) десь між важкими і неможливими зробити непорушними.


Ви робите досить багато припущень щодо "багатьох людей". Ті, хто не може генерувати зображення для своєї непорушної інфраструктури, швидше за все, не мають незмінної інфраструктури для початку.
Євгеній

Існує великий розрив між "може розгортатися за допомогою незмінних контейнерів" та "може перестроювати та перерозподіляти кожен контейнер протягом 6 годин, навіть якщо інші розгортання виконуються".
кодерангер

І на мій досвід, коли у вас розрив (6 годин), ви не можете мати незмінну інфраструктуру. Наявність непорушних серверів та побудова незмінних серверів швидко не є однаковими здібностями, але вони тісно пов'язані.
Євгеній

Багато людей, які кажуть «ми працюємо з незмінними контейнерами», не входять до цієї категорії. Отже, вказуючи на те, що вирішувати проблему, в чому полягала вся суть питання.
кодерангер

Ви можете визначити «незмінне» не означає «ні-один SSH - х в і робить зміни вручну», тому що це не може означати зовсім незмінне, так як вони змінюють себе в ході звичайних операцій. Навіть написання pidfile - це мутація.
Гай

0

Абсолютно незмінне середовище - це погана ідея, я думаю.

Інструменти CM, такі як Ansible, шеф-кухар, лялька, можуть бути корисними у багатьох випадках, включаючи ваш.

Я використовую ansible для первинного надання примірників VM в GCP.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.