Рубрики
Без рубрики

Перенесенный – представляет конфигурацию облака как неблагоприятные детски

Что такое переносимое краткое описание Этот инструмент принимает вашу текущую облачную конфигурацию … Помечено с помощью Anbible, OpenStack, DevOps, Python.

Краткое описание

Этот инструмент принимает вашу текущую облачную конфигурацию и представляет ее как неблагоприятные детски. Его репозиторий на 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, потому что у них уже есть один, так что это ничего не изменит для них.

Дорожная карта

  1. Написать тесты!
  2. Создавайте PlayBooks для пользовательских ролей, групп пользователей, других услуг OpenStack.
  3. Создайте плагин для Kubernetes.
  4. Создайте плагин для AWS
  5. Создайте переводчик из OpenStack до AWS и от AWS, чтобы OpenStack.

Больше мыслей и идей? Пожалуйста, отправьте в комментарии на Вопросы Передача Проект Отказ

Оригинал: “https://dev.to/sshnaidm/transible-represents-cloud-configuration-as-ansible-playbooks-42dm”