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

Що таке Пакер?

Packer — це інструмент створення зображень сервера, розроблений HashiCorp. Обробка зображень сервера; або, як альтернатива, незмінна інфраструктура; є популярною альтернативою інструментам конфігурації часу виконання, таким як Ansible або Puppet. Він заснований на ідеї, що після розгортання сервера ви ніколи не змінюєте його; замість цього ви розгортаєте новий сервер зі своїми змінами, а потім руйнуєте старий. Це спрощує обслуговування сервера та дозволяє ефективніше масштабуватися на великій кількості машин.

Хоча Packer не підтримує Vultr із коробки, існує плагін, який додає цю підтримку. Інструкції щодо встановлення Packer з підтримкою Vultr можна знайти в README плагіна. Решта цієї статті передбачає, що у вас встановлено Packer, а також плагін Vultr.

Як це працює

Метою Packer є створення зображень сервера або артефактів, які можна використовувати для створення нового сервера точно так, як він був під час створення зображення. Для Vultr ці артефакти називаються знімками. Плагін працює шляхом розгортання нового VPS, запуску на ньому визначених ініціаторів, створення його знімка, а потім руйнування VPS. Якщо ви хочете створити новий сервер зі свого образу, просто зателефонуйте API Vultr, щоб розгорнути новий VPS з потрібним знімком як його ОС.

Використання Packer

Пакер бере файл JSON, який визначає збірку, яку він має запускати як вхідні дані. Ось зразок файлу, що визначає збірку Vultr:

{
  "variables": {
    "vultr_api_key": "{{env `VULTR_API_KEY`}}"
  },
  "builders": [
    {
      "type": "vultr",
      "api_key": "{{user `vultr_api_key`}}",
      "snapshot_description": "My Awesome App",
      "region_id": "2",
      "plan_id": "201",
      "os_id": "167",
      "ssh_username": "root"
    }
  ]
}

Цей файл має два ключі верхнього рівня variablesта builders. variablesКлюч використовується для визначення користувача змінних, і в цьому випадку використовується для включення VULTR_API_KEYзмінної середовища таким чином , що може бути використаний пізніше. buildersКлюч містить список збірки для запуску, тільки в цьому випадку нашого Vultr збірка. Давайте трохи розіб'ємо цю конструкцію:

  • type: Це визначає конструктор, який буде фактично використовувати, а для збірок Vultr це завжди має бути vultr.
  • api_key: Щоб запустити збірку, вам потрібен ключ API, який визначено тут. Цей приклад визначає його як значення vultr_api_keyзмінної користувача, яке далі встановлюється на значення VULTR_API_KEYзмінної середовища.
  • snapshot_description: Опис отриманого знімка.
  • region_id: регіон для розгортання VPS. Це не впливає на остаточний знімок, а лише на сервер, на якому створено знімок.
  • plan_id: план використання для VPS. Майбутнє використання цього знімка має визначати план, який буде принаймні таким великим.
  • os_id: Операційна система для створення знімка.
  • ssh_username: Ім'я користувача, яке буде використовуватися під час SSH-сервера для ініціалізації. Для серверів Linux це зазвичай буде root.

Щоб використовувати його, збережіть цей файл під іменем, наприклад server.json, а потім запустіть команду packer build server.json. Ви побачите деякий результат, який вказує на статус збірки, що займе кілька хвилин.

Коли ви запускаєте цю збірку, новий сервер з ім’ям Snapshotting: My Awesome Appбуде створено, зроблено знімок, а потім знищено. Це все, що відбувається без визначення провайдерів. Для отримання додаткової інформації про визначення ініціаторів зверніться до документації Packer .

Після завершення збірки Packer виведе ідентифікатор отриманого знімка.

Визначення регіону, плану та ОС

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

Регіон

Інформацію про регіон можна отримати через API: https://www.vultr.com/api/#regions_region_list

  • region_id: ідентифікатор регіону, напр 2
  • region_code: код регіону, напр ORD

План

Інформацію про план можна отримати через API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: ідентифікатор плану, напр 201

ОС

Інформацію про операційну систему можна отримати через API: https://www.vultr.com/api/#os_os_list

  • os_id: ідентифікатор ОС, напр 167

Залишити коментар

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

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

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

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. Прочитайте цю статтю, щоб дізнатися більше