hetzner_vswitch

Ansible Роль: Hetzner vSwitch

Ansible роль, которая управляет Hetzner Robot vSwitch.

Предварительные требования

Требования

Название Тип Версия Местоположение
ansible-filter Python пакет 1.0.1 Узел управления

Переменные роли

Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml):

hetzner_vswitch_webservice_base_url: https://robot-ws.your-server.de

Базовый URL, указывающий на Hetzner Robot API. Эта переменная в основном используется для тестирования, нет необходимости менять значение по умолчанию.

hetzner_vswitch_webservice_username: robot

Имя пользователя для входа в веб-сервис. Может быть установлено/изменено, как описано в разделе Изменение данных доступа (Hetzner Wiki).

hetzner_vswitch_webservice_password: secret

Пароль для веб-сервиса. Может быть установлен/изменен, как описано в разделе Изменение данных доступа (Hetzner Wiki).

hetzner_vswitch_instances:
  - name: Новый vSwitch
    vlan: 1234

Можно управлять несколькими экземплярами vSwitch с помощью переменной hetzner_vswitch_instances. vSwitch определяется по атрибуту name. Имя должно быть уникальным, чтобы избежать коллизий и неожиданных ошибок. Значение по умолчанию для атрибута state для vSwitch — present.

hetzner_vswitch_instances:
  - name: Новый vSwitch
    interface: vlan1
  

Имя виртуального интерфейса для сети, основанной на vSwitch, может быть указано с помощью ключевого слова interface. С eth0 как физическим интерфейсом и 1234 как VLAN ID, это по умолчанию будет eth0.1234, если не указано.

hetzner_vswitch_instances:
  - name: Новый vSwitch
    state: absent

Чтобы гарантировать удаление vSwitch, добавьте state: absent. Атрибут name остается обязательным для идентификации текущего состояния.

hetzner_vswitch_host:
  - name: Новый vSwitch

Каждый хост может быть связан с одним или несколькими vSwitch, определенными в hetzner_vswitch_instances, с помощью переменной hetzner_vswitch_host. vSwitch ссылается на атрибут name.

Хосты с неопределенной переменной hetzner_vswitch_host игнорируются ролью.

hetzner_vswitch_host:
  - name: Новый vSwitch
    state: absent

Добавьте state: absent, чтобы отвязать хост от vSwitch.

hetzner_vswitch_instances:
  - name: Новый vSwitch
    vlan: 4001
    ipv4_address: 192.168.100.0
    ipv4_netmask: 255.255.255.0
       
hetzner_vswitch_host:
  - name: Новый vSwitch
    ipv4_address: 192.168.100.1
               

Чтобы управлять базовой сетевой конфигурацией, ipv4_address и ipv4_netmask должны присутствовать в hetzner_vswitch_instances. Необходимый IP-адрес хоста должен быть указан как ipv4_address в переменной hetzner_vswitch_host.

hetzner_vswitch_webservice_concurrent_requests: 1
hetzner_vswitch_webservice_concurrent_poll: 1

Чтобы ускорить выполнение роли при обработке конфигурации vSwitch с несколькими vSwitch, количество параллельных запросов к Hetzner Robot API можно контролировать с помощью переменной hetzner_vswitch_webservice_concurrent_requests. Интервал опроса для обработки результатов асинхронных запросов устанавливается с помощью hetzner_vswitch_webservice_concurrent_poll. Ознакомьтесь с официальной документацией по Асинхронным действиям и опросу для получения дополнительной информации.

Теги

Теги могут использоваться для ограничения выполнения роли на конкретном модуле задачи. Доступные теги:

  • hetzner_vswitch: Охватывает полный жизненный цикл роли.
  • hetzner_vswitch_install, install: Устанавливает необходимые пакеты.
  • hetzner_vswitch_config, config: Конфигурирует связанные пакеты и ресурсы.
  • hetzner_vswitch_vswitch, config: Управляет конфигурацией vswitch с использованием Hetzner Robot API.
  • hetzner_vswitch_vswitch_server, config: Добавляет/удаляет сервера в/из vswitch с использованием Hetzner Robot API.
  • hetzner_vswitch_host, config: Настраивает сетевые параметры на целевых хостах.
  • hetzner_vswitch_handle, handle: Выполняет обработчики, когда это необходимо.

Зависимости

Нет.

Пример плейбука

- hosts: all
  roles:
     - nl2go.hetzner_vswitch

Разработка

Используйте docker-molecule согласно инструкциям для запуска Molecule или установите Molecule локально (не рекомендуется, могут возникнуть конфликты версий).

Используйте следующее для запуска тестов:

molecule test --all

Содержатели

Лицензия

См. файл LICENSE.md для получения подробностей.

Информация об авторе

Эта роль была создана в 2019 году компанией Newsletter2Go GmbH.

О проекте

Manage Hetzner Robot vSwitch (https://wiki.hetzner.de/index.php/Vswitch/en) using Ansible.

Установить
ansible-galaxy install nl2go/ansible-role-hetzner-vswitch
Лицензия
Unknown
Загрузки
10898
Владелец