Ansible: Как генерировать уникальные имена с помощью random_pet

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

С помощью Ansible можно упростить сложные задачи и оптимизировать рутинные операции. Среди его функций есть плагин random_pet, который позволяет генерировать уникальные и случайные имена для ресурсов, переменных или идентификаторов.

В этой статье мы рассмотрим подключаемый модуль поиска random_pet в Ansible и то, как его можно использовать для создания случайных имен, меток или значений.

Плагин random_pet

Плагин поиска random_pet — полезный компонент Ansible, который генерирует случайные имена на основе словарей прилагательных и существительных. Его можно использовать для создания уникальных имен для ресурсов, виртуальных машин, контейнеров, сетевых интерфейсов или любых других элементов, которым нужны идентификаторы.

Использование random_pet в плейбуках Ansible

Чтобы использовать плагин random_pet в своих плейбуках Ansible, выполните следующие действия:

Шаг 1. Установите коллекцию

Убедитесь, что плагин random_pet установлен на вашем управляющем компьютере Ansible. Вы можете установить его с помощью следующей команды:

ansible-galaxy collection install community.general

Шаг 2. Установите Python-библиотеку

Плагин random_pet использует Python-библиотеку под названием petname. Вы можете установить её с помощью следующей команды:

pip3 install petname

Шаг 3. Добавить генерацию случайного имени

В своём плейбуке используйте плагин random_pet для создания уникальных имен.

Вот пример:

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ lookup('community.general.random_pet', words=3) }}"

В приведенном выше фрагменте кода мы используем плагин community.general.random_pet для генерации случайного имени питомца. Параметр words определяет количество слов, которые должны быть включены в имя (например, 2 для формата «прилагательное-существительное»).

random_pet в действии
random_pet в действии

Шаг 4. Используйте сгенерированное имя

После того как имя сгенерировано, вы можете получить к нему доступ с помощью зарегистрированной переменной (generated_name) в последующих задачах или использовать его по мере необходимости в своем плейбуке.

Например, вы можете использовать сгенерированное имя для создания виртуальной машины или назначить его в качестве метки для сетевого интерфейса.

- name: Create a virtual machine
  my_cloud_provider_module:
    name: "{{ lookup('community.general.random_pet', words=3, separator="_") }}"
    image: "ubuntu"
    size: "small"
    state: "present"

В приведенном выше коде мы используем гипотетический модуль my_cloud_provider_module для создания виртуальной машины и присваиваем ему сгенерированное имя параметром name.

У плагина random_pet есть документация, познакомиться с ней можно здесь.

Заключение

Плагин random_pet в Ansible — это удобное решение для быстрого создания большого количества уникальных имен.

Какие приёмы для нейминга ресурсов используете вы? Расскажите в комментариях.


Если вы хотите научиться автоматизировать рутинные задачи, быстро обновлять конфигурации на целой армии машин и настраивать Ansible под свои задачи, приходите на курс «Ansible: Infrastructure as Code». Новый поток стартует 21 августа. Посмотреть программу и записаться на курс можно на нашем сайте. Ждём на курсе!

Источник: https://habr.com/ru/companies/southbridge/articles/748788/


Интересные статьи

Интересные статьи

Привет! Меня зовут Роман Бунин, я BI-евангелист Yandex DataLens. При росте объёма данных, что неизбежно для любой компании, загрузка дашбордов может замедляться до десятков секунд. И чем больше появля...
Расскажу кратко самое интересное из книги “Креативный мозг. Как рождаются идеи, меняющие мир” нейропсихолога Элхонона Голдберга. Еще попробую на базе идей из книги сформулировать гипотезы, как повысит...
Подмена сервера доменных имен (DNS) — это кибератака, с помощью которой злоумышленник направляет трафик жертвы на вредоносный сайт (вместо легитимного IP-адреса). Злоумышленники испол...
Помните как некто cnlohr запустил передачу ТВ сигнала на ESP8266? Недавно мне попалось к просмотру это видео, стало интересно как это возможно и выяснил что автор видео разогнал ча...
Метаанализ — это когда ученые сводят в одну табличку много разных исследований, которые провели до этого, и анализируют результат. Чтобы понять, какие зависимости развиваются ...