LbaasPool
Балансировщик нагрузки - позволяет балансировать трафик между серверами. В балансировщик нагрузки добавляют пулы балансировки с различными алгоритмами балансировки в которые добавляются участники - серверы.
Объект «пул балансировщика нагрузки»
- class esu.LbaasPool(*args, token: Optional[str] = None, **kwargs)[исходный код]
- Параметры:
id (str) – Идентификатор Lbaas Pool
name (str) – Имя Lbaas Pool
lbaas (object) – Объект класса
esu.Lbaas
. Балансировщик, к которому относится данный Lbaas Poolconnlimit (str) – лимит соединений для пула балансировщика
cookie_name (str) – Имя cookie
members (list) – Список объектов класса
esu.LbaasPoolMember
. Список участников, которые подключены к данному пулу балансировщика нагрузкиmethod (str) – метод по которому будет работать пул балансировщика
port (str) – порт по которому будет подключаться пул балансировщика
protocol (str) – протокол по которому будет работать пул балансировщика
session_persistence (str) – лимит соединений для пула балансировщика
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
Примечание
Поля
members
иport
необходимы для создания.- classmethod get_object(lbaas, pool_id, token=None)[исходный код]
Получить объект пула балансировщика по его ID
- Параметры:
id (str) – Идентификатор Lbaas Pool
token (str) – Токен для доступа к API. Если не передан, будет использована переменная окружения ESU_API_TOKEN
- Результат:
Возвращает объект LbaasPool
esu.LbaasPool
- Тип результата:
object
- create()[исходный код]
Создать объект
- Исключение:
ObjectAlreadyHasId – Если производится попытка создать объект, который уже существует
- save()[исходный код]
Сохранить изменения
- Исключение:
ObjectHasNoId – Если производится попытка сохранить несуществующий объект
- destroy()[исходный код]
Удалить объект
- Исключение:
ObjectHasNoId – Когда производится попытка удалить несуществующий объект
Примеры использования
Создать балансировщик нагрузки:
from esu import Lbaas, LbaasPool, LbaasPoolMember, Vm
lbaas = Lbaas.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vm1 = Vm.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745f9')
vm2 = Vm.get_object('d5cd2cdc-b5b0-4d2e-8bc6-ea3f019745g5')
pool_member1 = LbaasPoolMember(vm=vm1, weight=50, port=80)
pool_member2 = LbaasPoolMember(vm=vm2, weight=50, port=80)
lbaas_pool = LbaasPool(method="ROUND_ROBIN", port=80, protocol="HTTP",
members=[pool_member1, pool_member2], lbaas=lbaas)
lbaas_pool.create()