Краткое описание
Этот инструмент принимает вашу текущую облачную конфигурацию и представляет ее как неблагоприятные детски. Его репозиторий на Github: https://github.com/sshnaidm/transible.
Подробнее
Он принимает серверы, правила безопасности, изображения, объема и все остальные вещи, которое ваше облако включает и определяет их конфигурацию в качестве задач в неблагоприятных платежах, которые готовы к развертыванию. Запустив эти игровые книги, вы на самом деле можете развернуть или повторно развернуть ваше текущее облако. Простой бег:
git clone https://github.com/sshnaidm/transible cd transible ./transible.py --os-cloud your_cloud_name
Почему кто-нибудь повторю развернул свое существующее облако?
Использование случаев перенесенного
Замораживание облачных конфигураций для дальнейшего управления IAAC
Есть случаи, когда у вас есть настроенное облако с большим количеством серверов, сетей, Изображения и т. Д. Но иногда у нас нет этого правильно удалось с Инфраструктура как принципы кода и облачного обслуживания превращаются в кошмар. Сотни наследие серверов с неизвестными конфигурациями, сложные сетевые настройки, которые никто не знает, кто их сделал и для каких целей. Просто собирать информацию из облака может быть сложной задачей, когда она находится под нагрузкой, а вещи меняются быстро. Удаление наследия и вещей, которые выглядят неиспользованными, могут привести к разрывам в работе других, в то время как почти невозможно откатиться, когда оказывается, что этот удаленный сервер используется и очень важно для других команд. Это довольно сложно, а иногда даже невозможное вручную создать IAAC Configs для существующей инфраструктуры, которая может включать сотни серверов или более, Передача приходит решить эту проблему.
Передача Можно взять свое облако и преобразовать все в нее в неблагоприятные детски. Таким образом, у вас есть все ваши серверы, сети, изображения и другие в одном месте, готовы к обслуживанию и управлению. Поскольку у вас есть в вашем инструменте развертывания, все следующие изменения могут прийти через Git и сохраняя принципы IAAC. Запустив Anisible PlayBooks, вы можете добавить, удалить или изменить свой облачный конфигурацию.
Удерживая текущую облачную конфигурацию
Существуют различные случаи тестирования на облаках, а иногда и необходимы для того, чтобы самые важные ресурсы нетронутыми. Сброшенная конфигурация желаемого состояния и все обязательные ресурсы помогут убедиться, что у вас есть все необходимые перед началом следующих задач тестирования. Просто беги Передача И настройте настройку, сброшенные в азарифмированных играх. Вы можете редактировать их и оставить там только важные вещи. Выполнение этих игровых книг до каждой облачной работы восстановит любые недостатки ресурсов. В любое время вы хотите «смягчить» ваше облако в текущем состоянии, просто запустите Передача И использование сгенерированных игровых книг вы можете вернуть этот конфиг позже.
Перемещение текущей инфраструктуры к другому арендатору, облако, провайдеру, что бы ни
Например, вам нужно переместить свою текущую инфраструктуру в другое облако в другом хостинговом провайдере. Если у вас нет всего в Git или некоторые не отслеживаемые изменения были сделаны, и вы не хотите их терять. Преобразование текущего облака до Anbible Free Freeze Cloud Config И вы можете запустить их с разными облачными учетными данными, чтобы развернуть все в новом месте.
Отпустите замок поставщика
В следующем Передача Версии можно будет преобразовать одну облачную конфигурацию на другую, например, openStack к AWS или Azure к GCP. Это позволит нам предотвратить замку Hardor-Lock и помогать облако поддерживать и перемещать свою инфраструктуру более удобными способами.
Как это работает
В настоящее время он поддерживает только облако OpenStack, в то время как другие находятся в разработке. Использование OpenStacksdk , он просит информацию от облака о текущих ресурсах. После этого используя шаблоны Ошибные модули OpenStack Это создает конфигурацию PlayBooks.
Хотя что, если у нас есть сотни ресурсов или даже больше? Наличие 300 конфигураций серверов в плейговике, который может в конечном итоге с 10 клоками, определенно не поможет техническое обслуживание и простоту. Для этого Передача знает, чтобы оптимизировать облачные ресурсы, используя петли
циклы неизбежного. Все необходимые данные могут быть разделены от PlayBooks и сохранены в Варс/
Папка, где можно управлять и изменять отдельно, не касаясь настоящих игровых книг. Например Изображения
PlayBook для OpenStack может выглядеть так:
--- - os_image: name: '{{ name | default(omit) }}' owner: '{{ owner | default(omit) }}' filename: '{{ filename | default(omit) }}' min_disk: '{{ min_disk | default(omit) }}' disk_format: '{{ disk_format | default(omit) }}' properties: '{{ properties | default(omit) }}' cloud: my-cloud checksum: '{{ checksum | default(omit) }}' min_ram: '{{ min_ram | default(omit) }}' is_public: '{{ is_public | default(omit) }}' state: present loop: '{{ images }}'
В то время как изображения конфигурации в Варс/
Папка включает в себя фактические изображения:
images: - name: new_image owner: .... min_disk: 20 is_public: false filename: /v2/images/...hash.../file - name: cloud-image checksum: .... owner: .... min_disk: 8 is_public: false filename: /v2/images/...hash.../file
Параметры, которые не определены в конфигурации переменных, будут опущены. Так что у нас будет такой же Playbook, если его не оптимизировали. Но в любом случае Варс
Оптимизация настраивается для любого типа ресурса отдельно в файле конфигурации плагина:
# Variables optimization configuration VARS_OPT_NETWORKS = False VARS_OPT_SUBNETS = True ...
Там различные конфигурации плагинов, которые будут отличаться для различных пользовательских сценариев, таких как управление существующим облаком, перемещение к другим провайдерам или развертыванию с нуля. Некоторые из них не могут быть «догадаться» от облачной конфигурации, которая не позволяет знать, какова была начальная конфигурация для развертывания. Вы можете настроить и настроить эти параметры в соответствии с вашими потребностями. Давайте возьмем пример перехода к другому облаку или провайдеру OpenStack.
Использование дела При переезде на новое облако или воссоздание с нуля
Если вы хотите воссоздать свои багажники и серверы загрузочных серверов, вы, вероятно, настроим:
CREATE_NEW_BOOT_VOLUMES = True USE_SERVER_IMAGES = False SKIP_UNNAMED_VOLUMES = False USE_EXISTING_BOOT_VOLUMES = False
Это воссоздает все необходимые багажники и не загрузки на новом облаке. Скорее всего, в новом облаке у вас будет новые IP-бассейны от вашего провайдера, в этом случае вы не можете сохранить то же самое плавающее IPS, которые вы имели раньше:
FIP_AUTO = True
Но в случае, если у вас будет такой же плавающий IP-диапазон и хотел бы сохранить все плавающие IPS, как они:
FIP_AUTO = False
Для DHCP в подсети вы можете позволить серверу иметь любой IP, который они получают от DHCP-сервера:
NETWORK_AUTO = True
Но если вы хотите сохранить одни и те же IPS в сети, настройте:
NETWORK_AUTO = False
Использование дела При переезде на новое облако или воссоздание с нуля
Если вы хотите перезагрузить PlayBook на существующую среду и продолжайте его использовать, скорее всего, вы не хотите что-либо воссоздать. Тогда ваша конфигурация будет выглядеть так:
CREATE_NEW_BOOT_VOLUMES = False SKIP_UNNAMED_VOLUMES = True USE_EXISTING_BOOT_VOLUMES = True NETWORK_AUTO = False FIP_AUTO = True
Таким образом, пробег Playbook закончится не изменять ничего и сохранить идемпотентность. (Имейте в виду, что не все модули OpenStack являются идемпотентными или поддержкой --Кречьясь
бегать.) В сетевой конфигурации у вас будут одни и те же IPS во внутренних сетях, а подсети – это они сегодня. Хотя мы устанавливаем Fip_auto.
Это не значит, что сервер получит другой плавающий IP, потому что у них уже есть один, так что это ничего не изменит для них.
Дорожная карта
- Написать тесты!
- Создавайте PlayBooks для пользовательских ролей, групп пользователей, других услуг OpenStack.
- Создайте плагин для Kubernetes.
- Создайте плагин для AWS
- Создайте переводчик из OpenStack до AWS и от AWS, чтобы OpenStack.
Больше мыслей и идей? Пожалуйста, отправьте в комментарии на Вопросы Передача Проект Отказ
Оригинал: “https://dev.to/sshnaidm/transible-represents-cloud-configuration-as-ansible-playbooks-42dm”