Як я можу ефективно керувати на декількох машинах?


11

Я управляю приблизно 30 серверами Ubuntu за допомогою лялькових. Я бачив багато посилань на cron-apt та apticron як підходи до оновлення своїх пакетів, але мені не вдалося знайти спосіб централізованого управління процесом. За допомогою cront-apt / apticron мені все одно потрібно буде увійти до кожного хоста і запустити, aptitude updateщоб виконати оновлення. Не кажучи вже про сповіщення про огляд з усіх 30 машин щоразу, коли основний пакет оновлюється.

Має бути кращий спосіб. Будь-які пропозиції?

Відповіді:


3

Пейзаж може вас зацікавити. Це "офіційний" інструмент управління для управління великими розгортаннями Ubuntu, і Canonical, ймовірно, дуже прагне отримати ваші долари за його використання.

Повторне редагування:

По-перше, відмова від відповідальності; Я не використовував дзеркальне відображення для Debian або Ubuntu, тому я не знайомий з програмним забезпеченням.

По-друге, здається, що дзеркальне дзеркальне рішення було б "надто важким" рішенням, мої вибачення. Початкова ідея полягала в тому, що у вас буде окрема тестова машина (чи тестова середовище, можливо, віртуальна машина?), Щоб розгорнути оновлення. Після того, як ви будете задоволені роботою оновлення, ви перетягнете / покладете пакунок у своє дзеркало "розгортання" (там буде офіційне дзеркало з офіційних джерел та вторинне дзеркало для лише оновлень, які ви хочете розгорнути). Потім віддалені машини запускають оновлення за попередньо встановлений час і витягують його з дзеркала "розгортання" на кожну машину, завдання з крон, що складається з:

apt-get update && apt-get upgrade --quiet --assume-yes

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


Пейзаж виглядає цікаво. Мені доведеться уважніше придивитись до цього. Мені не зрозуміло, як запуск місцевого дзеркала-трафаретів (що я зараз роблю) допоможе мені затвердити / переглянути очікувані оновлення. Чи можете ви уточнити це?
Insyte

14

Співробітник виявив і коротко заглянув у apt-dater, який є "менеджером віддаленого оновлення пакунків на терміналі".

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

Покладається на ssh та sudo на керованих машинах.

див. http://www.ibh.de/apt-dater/

Я не використовував його сам, тому не можу його схвалити, але це звучить близько до того, що ви шукаєте.


Це виглядає дуже перспективно. Insyte, я буду рекомендувати цю відповідь самостійно. Хоча ти можеш виконати всі описані мною дії, чи хочеш ти реально вкласти час у це, коли ти, мабуть, можеш зробити дуже швидке налаштування цього і просто продовжувати життя? @Jeff, +1 за гарну пропозицію.
Avery Payne

4

Оскільки ви вже використовуєте Лялькочку, найпростіший спосіб зробити це (і найкращий для цілей контролю / відстеження змін) - вказати бажану версію пакетів, які ви хочете встановити в ляльковому маніфесті. Ви стежите за списком повідомлень про безпеку, і коли щось, що ви використовуєте, ви просто оновлюєте Лялечку, щоб сказати "встановити цю нову версію цього пакета". Якщо припустити, що ви використовуєте контроль редагування у своїх маніфестах, то ви знаєте, коли було змінено "політику", і звіти з Лялькових покажуть вам, коли саме було внесено зміни (тому ви можете легко співвіднести це з будь-якими пізнішими подіями журналу).


Це майже те, що ми робимо. Ми не використовуємо тип лялькового пакету, оскільки це призвело б до встановлення кожного сервера кожного пакету. Натомість ми пишемо файл на сервері з назвою пакета та версією, а потім використовуємо скрипт, щоб пропустити їх і перевірити, чи встановлені вони, а потім спробуйте їх встановити. Друга частина - це сценарій, який читає мою пошту з папками apticron і захоплює всі пакунки, які потребують оновлення та переписування файлу маніфесту. Ми не зовсім впевнені, наскільки добре працює цей метод.
Девід Пашлі

2
Чому тип пакету ляльок встановлював усі пакети на кожній машині? Ви ставите строфи для кожного пакету у відповідний клас або визначений тип, щоб він встановлювався лише на відповідних машинах. Якщо ви хочете централізувати список версій в одному файлі, мати великий список віртуальних ресурсів, а потім реалізувати їх там, де це необхідно.
живіт


1

Не задумуючись над цим раніше, моя перша ідея була б чимось схожою на те, що запропонував Avery, особливо якщо у вас вже є тестове оточення.

В основному, ви налаштовуєте свої виробничі машини на автоматичне оновлення з власного локального репо, і ви оновлюєте це репо тільки після того, як ви оновили тестове середовище до новітньої версії того, що ви працюєте.

Apticron не розширює масштаб, він розроблений для запуску в досить невеликих умовах, але у нього є хороші моменти:

  • Він не просто надсилає вам список, а й журнали змін для оновлених пакетів.
  • Щоб отримати журнали змін, він завантажує пакети, тому при оновленні вам не доведеться чекати завантаження.

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