google.cloud.gcp_compute_region_backend_service_info – Сбор информации о GCP RegionBackendService
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud
Для использования в плейбуке укажите: google.cloud.gcp_compute_region_backend_service_info
Описание
- Сбор информации о GCP RegionBackendService
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. |
| env_type строка | Указывает, в какой среде Ansible выполняется данный модуль. Не устанавливайте это значение, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов к API. | |
| filters список / элементы=строка | Список пар значений фильтров. Доступные фильтры перечислены здесь https://cloud.google.com/sdk/gcloud/reference/topic/filters. Каждый дополнительный фильтр в списке будет добавлен как условие И (filter1 и filter2). | |
| project строка | Проект Google Cloud Platform для использования. | |
| region строка / обязательно | Ссылка на регион, в котором находится региональная служба обратного канала. | |
| scopes список / элементы=строка | Массив используемых областей действия | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, его представляющей. | |
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. |
Примечания
Примечание
- для аутентификации можно установить service_account_file, используя переменную среды
gcp_service_account_file - для аутентификации можно установить service_account_contents, используя переменную среды
GCP_SERVICE_ACCOUNT_CONTENTS - для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL - для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND - для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES - Значения переменных среды будут использоваться только в том случае, если значения плейбука не установлены.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: get info on a region backend service
gcp_compute_region_backend_service_info:
region: us-central1
filters:
- name = test_object
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключи | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| resources complex | всегда | Список ресурсов | ||||
| affinityCookieTtlSec целое число | успех | Срок действия cookie в секундах, если session_affinity — GENERATED_COOKIE. Если значение равно 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимальное разрешенное значение для TTL — один день. Если схема балансировки — INTERNAL, это поле не используется. | ||||
| backends complex | успех | Набор бэкэндов, обслуживающих этот RegionBackendService. | ||||
| balancingMode строка | успех | Указывает режим балансировки для этого бэкэнда. | ||||
| capacityScaler строка | успех | Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION). ~>**ПРИМЕЧАНИЕ**: Это поле не может быть установлено для внутренних сервисов балансировки региона (по умолчанию loadBalancingScheme), но обязательно для бэкэндов, не являющихся внутренними. Общий capacity_scaler для всех бэкэндов должен быть отличным от нуля. Значение 0 означает, что группа полностью отключена, предоставляя 0% своей доступной пропускной способности. Допустимый диапазон [0.0,1.0]. | ||||
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||||
| failover логическое | успех | Это поле указывает, является ли этот бэкэнд резервным. Для данного RegionBackendService можно настроить несколько резервных бэкэндов. | ||||
| group строка | успех | Полный URL ресурса группы экземпляров (Instance Group) или группы сетевых конечных точек (Network Endpoint Group). В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в бэкэнд-сервисе не могут использовать один и тот же ресурс группы экземпляров. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, находящихся в той же зоне, что и сама группа сетевых конечных точек. Бэкэнд-сервисы не могут смешивать группы экземпляров и группы сетевых конечных точек. Если `load_balancing_scheme` — INTERNAL, поддерживаются только группы экземпляров. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек, используя полный URL, а не частичный URL. | ||||
| maxConnections целое число | успех | Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION. Не может быть установлено для внутренних бэкэнд-сервисов. В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, соответствующее типу группы. | ||||
| maxConnectionsPerEndpoint целое число | успех | Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкэнда. Не может быть установлено для внутренних бэкэнд-сервисов. Используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerEndpoint. | ||||
| maxConnectionsPerInstance целое число | успех | Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкэнда. Не может быть установлено для внутренних бэкэнд-сервисов. Используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. В режиме CONNECTION необходимо задать либо maxConnections, либо maxConnectionsPerInstance. | ||||
| maxRate целое число | успех | Максимальное количество запросов в секунду (RPS) группы. Не может быть установлено для внутренних бэкэнд-сервисов. Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется в режиме RATE. Нужно задать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, соответствующее типу группы. | ||||
| maxRatePerEndpoint строка | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкэнда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо задать либо maxRate, либо maxRatePerEndpoint. Не может быть установлено для внутренних бэкэнд-сервисов. | ||||
| maxRatePerInstance строка | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкэнда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо задать либо maxRate, либо maxRatePerInstance. Не может быть установлено для внутренних бэкэнд-сервисов. | ||||
| maxUtilization строка | успех | Используется, когда balancingMode — UTILIZATION. Это соотношение определяет целевую загрузку ЦП для группы. Допустимый диапазон [0.0, 1.0]. Не может быть установлено для внутренних бэкэнд-сервисов. | ||||
| circuitBreakers complex | успех | Настройки, контролирующие объем подключений к бэкэнд-сервису. Это поле применимо только в случае, если `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` — HTTP, HTTPS или HTTP2. | ||||
| maxConnections целое число | успех | Максимальное количество подключений к кластеру бэкэнда. По умолчанию 1024. | ||||
| maxPendingRequests целое число | успех | Максимальное количество ожидающих запросов к кластеру бэкэнда. По умолчанию 1024. | ||||
| maxRequests целое число | успех | Максимальное количество параллельных запросов к кластеру бэкэнда. По умолчанию 1024. | ||||
| maxRequestsPerConnection целое число | успех | Максимальное количество запросов на одно подключение к бэкэнд-кластеру. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка параметра в 1 фактически отключит keep-alive. | ||||
| maxRetries целое число | успех | Максимальное количество параллельных повторных попыток подключения к кластеру бэкэнда. По умолчанию 3. | ||||
| connectionDraining complex | успех | Настройки для закрытия подключений. | ||||
| drainingTimeoutSec целое число | успех | Время, в течение которого экземпляр будет закрываться (не принимает новые подключения, но продолжает работу для завершения начатых). | ||||
| consistentHash complex | успех | Балансировка нагрузки на основе консистентного хеширования может использоваться для предоставления мягкой сессионной привязки на основе HTTP-заголовков, cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Привязка к конкретному хосту назначения будет потеряна, когда один или несколько хостов добавлены/удалены из сервиса назначения. Это поле указывает параметры, которые управляют консистентным хешированием. Это поле применимо только, если все перечисленные ниже условия верны: * `load_balancing_scheme` установлено в INTERNAL_MANAGED * `protocol` установлено в HTTP, HTTPS или HTTP2 * `locality_lb_policy` установлено в MAGLEV или RING_HASH . | ||||
| httpCookie complex | успех | Хеширование основано на HTTP-cookie. Это поле описывает HTTP-cookie, которая будет использоваться в качестве ключа хеширования для консистентного балансировщика нагрузки. Если cookie отсутствует, она будет сгенерирована. Это поле применимо, если sessionAffinity установлено в HTTP_COOKIE. | ||||
| name строка | успех | Имя cookie. | ||||
| path строка | успех | Путь для cookie. | ||||
| ttl complex | успех | Срок действия cookie. | ||||
| nanos целое число | success | Промежуток времени, являющийся дробью секунды с разрешением в наносекунды. Длительности менее одной секунды представлены значением 0 секунд и положительным значением nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| seconds целое число | success | Промежуток времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| httpHeaderName строка | success | Хэш, основанный на значении указанного поля заголовка. Это поле применимо, если sessionAffinity установлено в HEADER_FIELD. | ||||
| minimumRingSize целое число | success | Минимальное количество виртуальных узлов для использования в кольце хэширования. Более крупные размеры кольца приводят к более тонкому распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию 1024. | ||||
| creationTimestamp строка | success | Дата и время создания в формате RFC3339. | ||||
| description строка | success | Необязательное описание этого ресурса. | ||||
| failoverPolicy сложное | success | Политика для аварийного переключения. | ||||
| disableConnectionDrainOnFailover булево | success | При аварийном переключении или возврате это поле указывает, будет ли выполняться сброс соединений. Установка значения true имеет следующий эффект: подключения к старому активному пулу не сбрасываются. Подключения к новому активному пулу используют таймаут в 10 минут (в настоящее время фиксированно). Установка значения false имеет следующий эффект: и старые, и новые подключения будут иметь таймаут сброса в 10 минут. Это может быть установлено в значение true только в том случае, если протокол TCP. По умолчанию false. | ||||
| dropTrafficIfUnhealthy булево | success | Этот параметр используется только в том случае, если в основных и резервных группах экземпляров не обнаружено здоровых виртуальных машин. При установке значения true трафик отбрасывается. При установке значения false новые подключения отправляются через все виртуальные машины в основной группе. По умолчанию false. | ||||
| failoverRatio строка | success | Значение поля должно быть в диапазоне [0, 1]. Если соотношение здоровых виртуальных машин в основном бэкенде равно или меньше этого значения, входящий трафик в балансировщик нагрузки будет направлен на резервный бэкенд. В случае, если 'failoverRatio' не задан или все виртуальные машины в резервном бэкенде неисправны, трафик будет перенаправлен обратно на основной бэкенд в режиме "force", где трафик будет распределён по здоровым виртуальным машинам с наилучшими усилиями или по всем виртуальным машинам, если ни одна виртуальная машина не здорова. Это поле используется только для балансировки нагрузки L4. | ||||
| fingerprint строка | success | Отпечаток этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки. | ||||
| healthChecks список / элементы=строка | success | Набор URL-адресов ресурсов HealthCheck для проверки работоспособности RegionBackendService в этом регионе. В настоящее время может быть указана не более одной проверки работоспособности. Проверка работоспособности должна быть указана, если бэкенд-сервис не использует интернет- или серверный NEG в качестве бэкенда. | ||||
| id целое число | success | Уникальный идентификатор ресурса. | ||||
| loadBalancingScheme строка | success | Указывает, для какого типа балансировки нагрузки будет использоваться этот региональный бэкенд-сервис. Бэкенд-сервис, созданный для одного типа балансировки, не может быть использован с другими. | ||||
| localityLbPolicy строка | success | Алгоритм балансировки нагрузки, используемый в пределах области. Возможные значения: - ROUND_ROBIN - Это простая политика, в которой каждый здоровый бэкенд выбирается в порядке круговой очереди. - LEAST_REQUEST - Алгоритм O(1), который выбирает две случайные здоровые машины и выбирает машину с меньшим количеством активных запросов. - RING_HASH - Балансировщик кольца/модульного хэша реализует согласованное хэширование для бэкендов. Алгоритм обладает свойством, что добавление/удаление хоста из набора из N хостов затрагивает только 1/N запросов. - RANDOM - Балансировщик выбирает случайную здоровую машину. - ORIGINAL_DESTINATION - Хост бэкенда выбирается на основе метаданных подключения клиента, т. е. подключения открываются к тому же адресу, что и целевой адрес входящего подключения, прежде чем подключение было перенаправлено балансировщику. - MAGLEV - используется как прямая замена балансировщику кольца хэша. Maglev не такой стабильный, как ring hash, но имеет более быстрые времена построения таблиц и выбора хоста. Для получения дополнительной информации о Maglev см. https://ai.google/research/pubs/pub44824. Это поле применимо только в том случае, если `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` установлено в HTTP, HTTPS или HTTP2. | ||||
| logConfig сложное | success | Это поле обозначает параметры ведения журнала для трафика балансировщика нагрузки, обслуживаемого этим бэкенд-сервисом. Если ведение журнала включено, журналы будут экспортированы в Stackdriver. | ||||
| enable булево | success | Включить ли ведение журнала для трафика балансировщика нагрузки, обслуживаемого этим бэкенд-сервисом. | ||||
| sampleRate строка | success | Это поле можно указать только в том случае, если ведение журнала включено для этого бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Это настраивает частоту выборки запросов к балансировщику нагрузки, где 1,0 означает, что все запросы, попавшие под лог, сообщаются, а 0,0 означает, что запросы, попавшие под лог, не сообщаются. Значение по умолчанию равно 1,0. | ||||
| name строка | success | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. Точнее, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | ||||
| network словарь | success | URL сети, к которой принадлежит этот бэкенд-сервис. Это поле можно указать только тогда, когда схема балансировки нагрузки установлена в INTERNAL. | ||||
| outlierDetection сложное | success | Настройки, контролирующие вытеснение неисправных хостов из пула балансировки. Это поле применимо только в том случае, если `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` установлено в HTTP, HTTPS или HTTP2. | ||||
| baseEjectionTime сложное | success | Базовое время вытеснения хоста. Фактическое время равно базовому времени, умноженному на количество раз, когда хост был вытеснен. По умолчанию 30000 мс или 30 с. | ||||
| nanos целое число | success | Промежуток времени, являющийся дробью секунды с разрешением в наносекунды. Длительности менее одной секунды представлены значением 0 `seconds` и положительным значением `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| seconds целое число | success | Промежуток времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| consecutiveErrors целое число | success | Количество ошибок до вытеснения хоста из пула подключений. Когда к хосту бэкенда обращаются через HTTP, код ответа 5xx считается ошибкой. По умолчанию 5. | ||||
| consecutiveGatewayFailure целое число | success | Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки подключения, которые отображаются одним из этих кодов статуса) перед вытеснением из-за последовательных сбоев шлюза. По умолчанию 5. | ||||
| enforcingConsecutiveErrors целое число | success | Вероятность того, что хост будет действительно вытеснен, когда статус неисправности обнаружен через последовательные 5xx. Эта настройка может использоваться для отключения вытеснения или постепенного его наращивания. По умолчанию 100. | ||||
| enforcingConsecutiveGatewayFailure integer | success | Вероятность того, что хост будет фактически исключён, когда статус аутсайдера определяется по последовательным ошибкам шлюза. Это значение может использоваться для отключения исключения или постепенного его увеличения. По умолчанию 0. | ||||
| enforcingSuccessRate integer | success | Вероятность того, что хост будет фактически исключён, когда статус аутсайдера определяется по статистике успеха. Это значение может использоваться для отключения исключения или постепенного его увеличения. По умолчанию 100. | ||||
| interval complex | success | Интервал времени между анализом исключений. Это может привести как к новым исключениям, так и к возвращению хостов в службу. По умолчанию 10 секунд. | ||||
| nanos integer | success | Промежуток времени, являющийся дробью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно. | ||||
| seconds integer | success | Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно. | ||||
| maxEjectionPercent integer | success | Максимальный процент хостов в пуле балансировки нагрузки для бэкенд-службы, которые могут быть исключены. По умолчанию 10%. | ||||
| successRateMinimumHosts integer | success | Количество хостов в кластере, у которых должно быть достаточно объёма запросов для обнаружения отклонений по показателю успеха. Если количество хостов меньше этого значения, обнаружение аутсайдеров по статистике успеха не выполняется ни для одного хоста в кластере. По умолчанию 5. | ||||
| successRateRequestVolume integer | success | Минимальное количество запросов, которые должны быть собраны за один интервал (как определено продолжительностью интервала выше), чтобы включить этот хост в обнаружение аутсайдеров на основе показателя успеха. Если объём меньше этого значения, обнаружение аутсайдеров по статистике успеха не выполняется для этого хоста. По умолчанию 100. | ||||
| successRateStdevFactor integer | success | Этот коэффициент используется для определения порога исключения для исключения аутсайдеров по показателю успеха. Порог исключения — это разница между средним значением показателя успеха и произведением этого коэффициента и стандартного отклонения среднего значения показателя успеха: среднее - (std * success_rate_stdev_factor). Этот коэффициент делится на тысячу, чтобы получить число с плавающей запятой. То есть, если требуемый коэффициент равен 1,9, значение runtime должно быть 1900. По умолчанию 1900. | ||||
| portName string | success | Именованный порт на группе экземпляров бэкенда, представляющий порт для связи с бэкенд-виртуальными машинами в этой группе. Требуется, когда loadBalancingScheme — это EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы экземпляров. Имя порта должно быть определено в каждой группе экземпляров бэкенда. Этот параметр не имеет смысла, если бэкенды — NEGy. API устанавливает значение по умолчанию «http», если оно не указано. Должен быть опущен, когда loadBalancingScheme — INTERNAL (Внутренняя балансировка TCP/UDP-трафика). | ||||
| protocol string | success | Протокол, используемый RegionBackendService для связи с бэкендами. По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA. | ||||
| region string | success | Ссылка на регион, в котором находится региональная бэкенд-служба. | ||||
| sessionAffinity string | success | Тип сессионной аффинити, который нужно использовать. По умолчанию NONE. Сессионная аффинити не применима, если протокол UDP. | ||||
| timeoutSec integer | success | Количество секунд ожидания бэкенда перед рассмотрением запроса как не успешного. По умолчанию 30 секунд. Допустимый диапазон [1, 86400]. | ||||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_compute_region_backend_service_info_module.html