Початок роботи з SaltStack в Ubuntu 17.04

SaltStack — це програма керування конфігурацією на базі Python, яка оптимізована для автоматизації файлів конфігурації, розгортань та будь-чого іншого, що стосується програмно-визначеної теми центру обробки даних. У цьому посібнику ви дізнаєтеся, як розпочати роботу з SaltStack, додати свої перші вузли та написати першу формулу.

Вимоги

  • Примірник Vultr під керуванням Ubuntu 17.04 (головний)
  • Примірник Vultr під керуванням Ubuntu 17.04 (міньйон)

Термінологія

SaltStack використовує кілька ключових слів, які представляють конкретний пристрій або конфігурацію, як пояснюється нижче:

Майстер

Це головний екземпляр, який підключається до всіх серверів, доданих до вашого "кластеру" SaltStack, таким чином також запускаючи будь-які команди / зв'язок з вашими серверами.

Міньйон

Сервери, які додаються до вашого SaltStack, називаються міньйонами. Будь-які дії виконуються над одним, групою або всіма вашими слугами.

Формула

Формула являє собою файл або набір файлів, який представляє прислужників, які команди слід виконати. Це може бути встановлення однієї програми, наприклад, nginxабо розгортання файлів конфігурації тощо.

Стовп

Стовп — це файл, у якому зберігається інформація, пов’язана з групою слуг або одним фаворитом. Як приклад, ви могли б використовувати цей тип файлів для зберігання «Віртуальних хостів» для Nginx для певного міньйона.

Налаштування сервера

Майстер

Спочатку ми почнемо з налаштування головного для нашого кластера SaltStack:

apt-get update
apt-get dist-upgrade
apt-get install salt-master

За замовчуванням майстер SaltStack не прослуховує будь-які інтерфейси, оскільки майстер зазвичай спілкується з міньонами через загальнодоступний Інтернет. Нам потрібно трохи змінити конфігураційний файл, який можна знайти за адресою /etc/salt/master:

# The address of the interface to bind to:
interface: 0.0.0.0

Після того, як зміни були записані у файл, перезапустіть головну службу:

service salt-master restart

Міньйон

Тепер ми можемо приступити до додавання нашого першого міньйона. Ідіть прямо і встановіть необхідні пакети:

apt-get update
apt-get dist-upgrade
apt-get install salt-minion

Далі нам потрібно внести ще одну невелику зміну в конфігурацію SaltStack міньйона, яку можна знайти за адресою /etc/salt/minion:

# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: <master_server_ip>

Замініть <master_server_ip>IP-адресу вашого головного сервера, як було встановлено раніше. В ідеалі ви б налаштували для цього запис DNS, щоб полегшити зміну головного сервера.

Після цього ми повинні перезапустити службу minion, щоб зміни стали активними:

service salt-minion restart

Основні операції SaltStack

Тепер ми налаштували робочого майстра та прихильників, тож ми можемо безпосередньо продовжити роботу з невеликим набором команд SaltStack на майстрі.

Показані всі міньйони

# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:

Примітка: ми вже сказали міньйону, до якого головного сервера він має підключитися. Тому, якщо ви дотримуєтеся цього посібника, ви вже побачите міньйона під Unaccepted Keys:розділом.

Прийняття неприйнятого міньйона

# salt-key -a <minion_id>

Прийняття всіх неприйнятих міньйонів

# salt-key -A

Видалення міньйона

# salt-key -d <minion_id>

Примітка: <minion_id> зазвичай представляє ім’я хоста UNIX вашого підручника(ів) і зберігається у /etc/salt/minion_idфайлі на міньйон(ах).

Створення першої формули

Після додавання нашого міньйона до майстра ми можемо продовжити написання нашої першої формули. Спочатку ми повинні створити папку, в якій зберігатимуться наші формули:

mkdir -p /srv/salt/

Створіть папку для нашої першої формули:

mkdir -p /srv/salt/nginx

По суті, будь-які інструкції для формули зберігаються у init.slsфайлі, наприклад, /srv/salt/nginx/init.sls. Оскільки існує величезна кількість операцій, які можна виконати за допомогою формули, ми напишемо невелику формулу, яка встановлює Nginx:

nginx:
  pkg:
    - installed

Виконайте свою першу формулу

Після запису у init.slsфайл, як описано вище, ми можемо запустити його:

salt '*' state.sls nginx

Примітка: nginx являє собою назву папки, яку ми створили раніше.

Висновок

SaltStack — це дуже гарне програмне забезпечення для автоматизації будь-яких файлів конфігурації, розгортання служб, початкового розгортання серверів тощо. Оскільки SaltStack заснований на Python, ви також можете легко додавати власні модулі, якщо ви вільно володієте мовою. Приємної автоматизації!


Як встановити Jenkins на CentOS 7

Як встановити Jenkins на CentOS 7

Jenkins — популярний інструмент CI (безперервна інтеграція) з відкритим кодом, який широко використовується для розробки, розгортання та автоматизації проектів. Ця стаття буде

Як встановити та налаштувати Concourse CI в Ubuntu 16.04

Як встановити та налаштувати Concourse CI в Ubuntu 16.04

Використання іншої системи? Вступ Постійна інтеграція – це практика розробки програмного забезпечення DevOps, яка дозволяє розробникам часто об’єднувати

Як встановити та налаштувати Ansible на Debian 9 для використання з Windows Server

Як встановити та налаштувати Ansible на Debian 9 для використання з Windows Server

Використання іншої системи? Ansible — інструмент з відкритим кодом для автоматизації завдань. Він керує конфігурацією ваших серверів Linux і Windows. Це працює

Як встановити та налаштувати GoCD на CentOS 7

Як встановити та налаштувати GoCD на CentOS 7

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

Використання SaltStack With Pillars в Ubuntu 17.04

Використання SaltStack With Pillars в Ubuntu 17.04

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

Як встановити та налаштувати Ansible на CentOS 7 для використання з Windows Server

Як встановити та налаштувати Ansible на CentOS 7 для використання з Windows Server

Використання іншої системи? Ansible — інструмент з відкритим кодом для автоматизації завдань. Він керує конфігурацією ваших серверів Linux і Windows. Це працює

Як встановити Drone CI на Ubuntu 18.04

Як встановити Drone CI на Ubuntu 18.04

Вступ Drone — це автоматизована платформа безперервного тестування та доставки, яка працює на вашій власній інфраструктурі. Дрон підтримує будь-яку мову, сервіс о

Балансувальники навантаження Vultr

Балансувальники навантаження Vultr

Що таке Load Balancer Балансувальники навантаження розташовані перед вашою програмою і розподіляють вхідний трафік між кількома екземплярами вашої програми. Fo

Як встановити Foreman на CentOS 7

Як встановити Foreman на CentOS 7

Використання іншої системи? Foreman — це безкоштовний інструмент з відкритим вихідним кодом, який допоможе вам налаштувати та керувати фізичними та віртуальними серверами. Предварня

Як встановити SaltStack на CentOS 7

Як встановити SaltStack на CentOS 7

SaltStack, або Salt, — це популярне рішення для керування конфігурацією з відкритим вихідним кодом, яке можна використовувати для реалізації віддаленого виконання, керування конфігурацією, код

Як встановити Strider CD на Ubuntu 18.04

Як встановити Strider CD на Ubuntu 18.04

Вступ Strider CD — це платформа безперервного розгортання з відкритим вихідним кодом. Програма написана на Node.js і використовує MongoDB як бекенд сховища. Шрок

Використання диспетчера пакетів Chocolatey у Windows

Використання диспетчера пакетів Chocolatey у Windows

Вступ Chocolatey забезпечує керування пакетами, що спрощує адміністрування програмного забезпечення та залежностей у Linux у Windows. Можна швидко і легко

Створення знімків за допомогою Packer

Створення знімків за допомогою Packer

Що таке Пакер? Packer — це інструмент створення зображень сервера, розроблений HashiCorp. Обробка зображень сервера; або, як альтернатива, незмінна інфраструктура; є популярною альтернативою

Як встановити та налаштувати Concourse CI на CentOS 7

Як встановити та налаштувати Concourse CI на CentOS 7

Використання іншої системи? Вступ Постійна інтеграція – це практика розробки програмного забезпечення DevOps, яка дозволяє розробникам часто об’єднувати

Використання Chef-solo для налаштування програми Django в Ubuntu

Використання Chef-solo для налаштування програми Django в Ubuntu

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

Як встановити Foreman на Ubuntu 16.04 LTS

Як встановити Foreman на Ubuntu 16.04 LTS

Використання іншої системи? Foreman — це безкоштовний інструмент з відкритим вихідним кодом, який допоможе вам налаштувати та керувати фізичними та віртуальними серверами. Предварня

Початок роботи з SaltStack в Ubuntu 17.04

Початок роботи з SaltStack в Ubuntu 17.04

SaltStack — це програма керування конфігурацією на основі Python, яка оптимізована для автоматизації файлів конфігурації, розгортань та всього іншого.

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

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

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

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

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

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

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

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

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше