Часто бувають випадки, коли вам потрібно буде автоматизувати надання та налаштування вашої хмарної інфраструктури Vultr. Існує безліч інструментів, однак cloud-init є галузевим стандартом, який використовується для ініціалізації та налаштування екземплярів віртуальної машини з даними користувача Часто бувають випадки, коли вам потрібно буде автоматизувати підготовку та налаштування вашої хмарної інфраструктури Vultr. Існує безліч інструментів, однак cloud-init є галузевим стандартом, який використовується для ініціалізації та налаштування екземплярів віртуальної машини з даними користувача Часто бувають випадки, коли вам потрібно буде автоматизувати підготовку та налаштування вашої хмарної інфраструктури Vultr. Існує безліч інструментів, однак cloud-init є галузевим стандартом, який використовується для ініціалізації та налаштування екземплярів віртуальної машини з даними користувача Terraform — це інструмент інфраструктури як коду, який дозволяє користувачам створювати, змінювати та версії вашої інфраструктури безпечно та ефективно. Він використовує синтаксис високого рівня для декларативного забезпечення та керування інфраструктурою, що дає можливість розбивати конфігурацію на менші частини для кращої організації, повторного використання та зручності обслуговування. Інформацію про встановлення та запуск Terraform можна знайти тут. Передавши параметр user_data у файл Terraform.yaml, ви можете використовувати автоматизацію для налаштування свого екземпляра Vultr під час завантаження. Детальніше про це нижче Використання Terraform для налаштування Cherryservers за допомогою хмарної ініціалізації Якщо Terraform є вашим кращим методом надання інфраструктури, ви можете знайти постачальника Vultr Terraform у Github Repo тут Для будь-якого постачальника інфраструктури, використовуючи Terraform як інструмент ініціалізації, вам завжди потрібно буде вказати блок постачальника, як показано тут: Ось приклад модуля, який використовує дані користувача для налаштування примірника Vultr під час завантаження: За допомогою цього модуля у вас є ресурс, який призначає vultr_server як тип ресурсу, який ви хочете надати, і використовує такі змінні, як project_id і user_data, для обробки ініціалізації. Коли ви надаєте рядок для user_data, ви вказуєте сценарій запуску, який запускатиметься під час завантаження чистого сервера Ви можете надати нові сервери через API для отримання даних користувача вашого Vultr через службу хмарної ініціації. Це дозволяє вам автоматизувати різноманітні завдання конфігурації сервера шляхом отримання директив даних користувача під час розгортання сервера. Надані вами завдання будуть виконані, коли ваш сервер завантажиться вперше. Є два способи зробити це - сценарії оболонки або директиви хмарної ініціалізації. Ми будемо говорити про директиви хмарної ініціалізації Директиви Cloud-Init виконуються, коли ваш сервер завантажується вперше, але синтаксис дещо відрізняється. Ваш сценарій має починатися з рядка #cloud-config, інакше директиви даних користувача буде відхилено. Для отримання додаткової інформації я рекомендую перевірити офіційну документацію cloud-init: httpscloudinit.readthedocs.io/en/latest/index.html Простий приклад сценарію хмарної ініціалізації, який буде передано: Щоб передати ці сценарії даних до Vultr API, їх потрібно перетворити у формат base64. У системі Linux ви повинні зробити наступне для свого файлу test.yaml: Потім цей вихідний текст потрібно отримати через параметр user_data API Vultr під час замовлення нового сервера Зібравши все разом Щоб побачити це в дії, укажіть постачальника ресурсів, щоб ви могли призначити Vultr як платформу, яку ви надаєте. Ваш остаточний сценарій має виглядати так: Ось і все! Terraform є справді чудовим інструментом для автоматизації інфраструктури, якщо ви зрозумієте синтаксис і те, як він працює. Сподіваюся, вам сподобалася ця стаття!