google.cloud.gcp_compute_backend_service_info – Сбор информации о GCP BackendService
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.2).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в плейбуке укажите: google.cloud.gcp_compute_backend_service_info.
Описание
- Сбор информации о GCP BackendService
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- 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 для использования. | |
| 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 backend service
gcp_compute_backend_service_info:
filters:
- name = test_object
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||||
|---|---|---|---|---|---|---|
| resources complex | всегда | Список ресурсов | ||||
| affinityCookieTtlSec integer | успех | Срок действия cookie в секундах, если session_affinity равен GENERATED_COOKIE. Если установлено значение 0, cookie не сохраняется и действует только до закрытия сессии браузера (или эквивалента). Максимально допустимое значение TTL составляет один день. Если схема балансировки - INTERNAL, это поле не используется. | ||||
| backends complex | успех | Набор бэкендов, которые обслуживают этот BackendService. | ||||
| balancingMode string | успех | Указывает режим балансировки для этого бэкенда. Для глобальной HTTP(S) или TCP/SSL балансировки по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). | ||||
| capacityScaler string | успех | Множитель, применяемый к максимальной пропускной способности группы (основанной на UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей настроенной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью отключена, предоставляя 0% своей доступной пропускной способности. Допустимый диапазон значений — [0,0, 1,0]. | ||||
| description string | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||||
| group string | успех | Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае с группой экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в службе бэкенда не могут использовать один и тот же ресурс группы экземпляров. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и группа сетевых конечных точек. Услуги бэкендов не могут смешивать бэкенды группы экземпляров и группы сетевых конечных точек. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с использованием полного URL-адреса, а не частичного URL-адреса. | ||||
| maxConnections integer | успех | Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы. | ||||
| maxConnectionsPerEndpoint integer | успех | Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerEndpoint. | ||||
| maxConnectionsPerInstance integer | успех | Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance. | ||||
| maxRate integer | успех | Максимальное количество запросов в секунду (RPS) группы. Может использоваться в режимах балансировки RATE или UTILIZATION, но требуется в режиме RATE. В режиме RATE необходимо указать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы. | ||||
| maxRatePerEndpoint string | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо указать либо maxRate, либо maxRatePerEndpoint. | ||||
| maxRatePerInstance string | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Это используется для расчета пропускной способности группы. Может использоваться в любом режиме балансировки. В режиме RATE необходимо указать либо maxRate, либо maxRatePerInstance. | ||||
| maxUtilization string | успех | Используется, когда balancingMode равен UTILIZATION. Это отношение определяет целевую загрузку ЦП группы. По умолчанию — 0,8. Допустимый диапазон значений — [0,0, 1,0]. | ||||
| cdnPolicy complex | успех | Настройка Cloud CDN для этого BackendService. | ||||
| cacheKeyPolicy complex | успех | CacheKeyPolicy для этой CdnPolicy. | ||||
| includeHost boolean | успех | Если true, запросы к разным хостам будут кэшироваться отдельно. | ||||
| includeProtocol boolean | успех | Если true, запросы HTTP и HTTPS будут кэшироваться отдельно. | ||||
| includeQueryString boolean | успех | Если true, параметры запроса будут включены в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни то, ни другое не задано, будет включен весь параметр запроса. Если false, параметр запроса будет полностью исключен из ключа кэша. | ||||
| queryStringBlacklist list / elements=string | успех | Имена параметров запроса, которые нужно исключить из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут обрабатываться как разделители. | ||||
| queryStringWhitelist list / elements=string | успех | Имена параметров запроса, которые нужно включить в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут обрабатываться как разделители. | ||||
| signedUrlCacheMaxAgeSec integer | успех | Максимальное количество секунд, в течение которых ответ на запрос с подписью URL будет считаться свежим, по умолчанию 1 час (3600 с). По истечении этого периода ответ будет перепроверен перед отображением. При предоставлении ответов на запросы с подписью URL Cloud CDN будет внутренне вести себя так, как если бы все ответы от этого бэкенда имели заголовок "Cache-Control: public, max-age=[TTL]", независимо от существующего заголовка Cache-Control. Фактические заголовки, предоставляемые в ответах, не будут изменены. | ||||
| circuitBreakers complex | успех | Параметры, контролирующие объем подключений к службе бэкенда. Это поле применимо только в случае, если load_balancing_scheme установлено в INTERNAL_SELF_MANAGED. | ||||
| maxConnections integer | успех | Максимальное количество подключений к кластеру бэкенда. По умолчанию 1024. | ||||
| maxPendingRequests integer | успех | Максимальное количество ожидающих запросов к кластеру бэкенда. По умолчанию 1024. | ||||
| maxRequests integer | успех | Максимальное количество параллельных запросов к кластеру бэкенда. По умолчанию 1024. | ||||
| maxRequestsPerConnection integer | успех | Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализациями HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive. | ||||
| maxRetries integer | успех | Максимальное количество параллельных повторных попыток подключения к кластеру бэкенда. По умолчанию 3. | ||||
| connectionDraining complex | success | Настройки для отключения соединения. | ||||
| drainingTimeoutSec integer | success | Время, в течение которого экземпляр будет выводиться из работы (не принимает новые подключения, но продолжает работу для завершения начатых). | ||||
| consistentHash complex | success | Балансировка нагрузки на основе консистентного хэширования может использоваться для предоставления мягкой сродства сессий на основе HTTP-заголовков, файлов cookie или других свойств. Эта политика балансировки нагрузки применима только для HTTP-соединений. Сродство с конкретным хостом назначения будет потеряно при добавлении или удалении одного или нескольких хостов из службы назначения. Это поле указывает параметры, которые контролируют консистентное хэширование. Это поле применимо только в том случае, если схема балансировки нагрузки задана как INTERNAL_SELF_MANAGED. Это поле применимо только в том случае, если политика балансировки локальности установлена в MAGLEV или RING_HASH. | ||||
| httpCookie complex | success | Хэш основан на HTTP-файле cookie. Это поле описывает HTTP-файл cookie, который будет использоваться в качестве ключа хэша для балансировщика консистентного хэширования. Если файл cookie отсутствует, он будет сгенерирован. Это поле применимо, если сродство сессии установлено как HTTP_COOKIE. | ||||
| name string | success | Имя файла cookie. | ||||
| path string | success | Путь для установки файла cookie. | ||||
| ttl complex | success | Срок действия файла cookie. | ||||
| nanos integer | success | Отрезок времени, являющийся дробной частью секунды с разрешением в наносекунды. Длительности, меньшие одной секунды, представлены значением 0 секунд и положительным значением nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| seconds integer | success | Отрезок времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| httpHeaderName string | success | Хэш, основанный на значении указанного поля заголовка. Это поле применимо, если сродство сессии установлено как HEADER_FIELD. | ||||
| minimumRingSize integer | success | Минимальное количество виртуальных узлов для использования в кольце хэшей. Более крупные кольца приводят к более гранулированному распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше, чем размер кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию 1024. | ||||
| creationTimestamp string | success | Маркер создания в формате RFC3339. | ||||
| customRequestHeaders list / elements=string | success | Заголовки, которые балансировщик HTTP/S-нагрузки должен добавить к запросам, перенаправляемым через прокси. | ||||
| description string | success | Необязательное описание этого ресурса. | ||||
| enableCDN boolean | success | Если true, включить Cloud CDN для этой BackendService. | ||||
| fingerprint string | success | Отпечаток данного ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки. | ||||
| healthChecks list / elements=string | success | Набор URL-адресов HttpHealthCheck или HttpsHealthCheck ресурса для проверки состояния этой BackendService. В настоящее время может быть указан не более одного элемента. Необходимо указать элемент проверки работоспособности, если сервис обращается к бэкенду через Интернет или серверный NEG. Для внутренней балансировки нагрузки необходимо указать URL-адрес ресурса HealthCheck. | ||||
| iap complex | success | Настройки для включения Cloud Identity Aware Proxy. | ||||
| enabled boolean | success | Включает IAP. | ||||
| oauth2ClientId string | success | Идентификатор клиента OAuth2 для IAP. | ||||
| oauth2ClientSecret string | success | Секрет клиента OAuth2 для IAP. | ||||
| oauth2ClientSecretSha256 string | success | Секрет клиента OAuth2 SHA-256 для IAP. | ||||
| id integer | success | Уникальный идентификатор ресурса. | ||||
| loadBalancingScheme string | success | Указывает, будет ли бэкенд-сервис использоваться с внутренней или внешней балансировкой нагрузки. Бэкенд-сервис, созданный для одного типа балансировки, не может использоваться с другим. | ||||
| localityLbPolicy string | 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. Это поле применимо только в случае, если схема балансировки нагрузки установлена в INTERNAL_SELF_MANAGED. | ||||
| logConfig complex | success | Это поле обозначает параметры ведения журнала для трафика балансировщика нагрузки, обслуживаемого этим бэкенд-сервисом. Если ведение журнала включено, журналы будут экспортированы в Stackdriver. | ||||
| enable boolean | success | Включить ведение журнала для трафика балансировщика нагрузки, обслуживаемого этим бэкенд-сервисом. | ||||
| sampleRate string | success | Это поле может быть указано только в том случае, если ведение журнала включено для данного бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Эта настройка задает частоту выборки запросов к балансировщику нагрузки, где 1.0 означает, что все запросы, которые нужно вести журнал, будут сообщены, а 0.0 означает, что никакие запросы, которые нужно вести журнал, не будут сообщены. Значение по умолчанию — 1,0. | ||||
| name string | success | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. Более конкретно, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | ||||
| outlierDetection complex | success | Настройки, контролирующие исключение неисправных хостов из пула балансировки нагрузки. Это поле применимо только в том случае, если схема балансировки нагрузки задана как INTERNAL_SELF_MANAGED. | ||||
| baseEjectionTime complex | success | Базовое время исключения хоста. Действительное время равно базовому времени, умноженному на количество раз, когда хост был исключен. По умолчанию 30000 мс или 30 с. | ||||
| nanos целое число | success | Промежуток времени, составляющий дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются с полем `seconds` равным 0 и положительным полем `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 целое число | success | Вероятность исключения хоста при обнаружении нетипичного статуса через последовательные сбои шлюза. Это значение можно использовать для отключения исключения или постепенного его включения. По умолчанию значение равно 0. | ||||
| enforcingSuccessRate целое число | success | Вероятность исключения хоста при обнаружении нетипичного статуса через статистику успешности. Это значение можно использовать для отключения исключения или постепенного его включения. По умолчанию значение равно 100. | ||||
| interval сложное | success | Интервал времени между анализом исключения. Это может привести к новым исключениям, а также к возвращению хостов в работу. По умолчанию значение равно 10 секундам. | ||||
| nanos целое число | success | Промежуток времени, составляющий дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| seconds целое число | success | Промежуток времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| maxEjectionPercent целое число | success | Максимальный процент хостов в пуле балансировки нагрузки для бэкенд-сервиса, которые могут быть исключены. По умолчанию значение равно 10%. | ||||
| successRateMinimumHosts целое число | success | Количество хостов в кластере, у которых должен быть достаточный объём запросов для обнаружения отклонений в показателях успешности. Если количество хостов меньше этого значения, обнаружение отклонений по статистике успешности не выполняется для хоста в кластере. По умолчанию значение равно 5. | ||||
| successRateRequestVolume целое число | success | Минимальное общее количество запросов, которое должно быть собрано за один интервал (как определено выше продолжительностью интервала), чтобы включить этот хост в обнаружение отклонений по статистике успешности. Если объём меньше этого значения, обнаружение отклонений по статистике успешности не выполняется для этого хоста. По умолчанию значение равно 100. | ||||
| successRateStdevFactor целое число | success | Этот множитель используется для определения порога исключения для исключения отклонений в показателях успешности. Порог исключения представляет собой разницу между средней скоростью успеха и произведением этого множителя и стандартного отклонения от средней скорости успеха: среднее - (std * success_rate_stdev_factor). Этот множитель делится на тысячу, чтобы получить двойное значение. То есть, если желаемый множитель равен 1,9, значение во время выполнения должно быть 1900. По умолчанию значение равно 1900. | ||||
| portName строка | success | Имя бэкенд-порта. Это же имя должно присутствовать в группах экземпляров, на которые ссылается этот сервис. Требуется, когда схема балансировки нагрузки — EXTERNAL. | ||||
| protocol строка | success | Протокол, используемый BackendService для связи с бэкендами. По умолчанию используется HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA. | ||||
| securityPolicy строка | success | Политика безопасности, связанная с этим бэкенд-сервисом. | ||||
| sessionAffinity строка | success | Тип сессионной аффинити. По умолчанию — NONE. Сессионная аффинити не применима, если протокол — UDP. | ||||
| timeoutSec целое число | success | Время ожидания бэкенда в секундах перед тем, как запрос считается неудачным. По умолчанию 30 секунд. Допустимый диапазон: [1, 86400]. | ||||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_backend_service_info_module.html