google.cloud.gcp_compute_region_backend_service_info – Сбор информации о GCP RegionBackendService
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.2).
Для его установки используйте: 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), но обязательно для сервисов бэкэнда, отличных от INTERNAL. Общий capacity_scaler для всех бэкэндов должен быть ненулевым. Значение 0 означает, что группа полностью отключена, предоставляя 0% своей доступной емкости. Допустимый диапазон — [0.0,1.0]. | ||||
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||||
| failover булево | успех | Это поле указывает, является ли этот бэкенд бэкэндом резервного копирования. Для данной RegionBackendService можно настроить несколько бэкэндов резервного копирования. | ||||
| group строка | успех | Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в службе бэкэндов не могут использовать один и тот же ресурс группы экземпляров. Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и группа сетевых конечных точек. В службах бэкэндов нельзя смешивать группы экземпляров и группы сетевых конечных точек. Когда `load_balancing_scheme` — INTERNAL, поддерживаются только группы экземпляров. Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек, используя полный 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]. Не может быть установлено для внутренних сервисов бэкэнда. | ||||
| cdnPolicy complex | успех | Настройка Cloud CDN для этого BackendService. | ||||
| cacheKeyPolicy complex | успех | CacheKeyPolicy для этого CdnPolicy. | ||||
| includeHost булево | успех | Если true, запросы к различным хостам будут кэшироваться отдельно. | ||||
| includeProtocol булево | успех | Если true, запросы http и https будут кэшироваться отдельно. | ||||
| includeQueryString булево | успех | Если true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни один из них не установлен, вся строка запроса будет включена. Если false, строка запроса будет полностью исключена из ключа кэша. | ||||
| queryStringBlacklist список / элементы=строка | успех | Имена параметров строки запроса для исключения из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут обрабатываться как разделители. | ||||
| queryStringWhitelist список / элементы=строка | успех | Имена параметров строки запроса для включения в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут обрабатываться как разделители. | ||||
| signedUrlCacheMaxAgeSec целое число | успех | Максимальное количество секунд, в течение которых ответ на запрос подписанного URL будет считаться свежим, по умолчанию 1 час (3600 с). После этого периода ответ будет перепроверен перед предоставлением. При предоставлении ответов на запросы подписанных URL Cloud CDN будет внутренне вести себя так, как будто все ответы от этого бэкэнда имеют заголовок "Cache-Control: public, max-age=[TTL]", независимо от любого существующего заголовка Cache-Control. Фактические заголовки, предоставленные в ответах, не будут изменены. | ||||
| circuitBreakers complex | успех | Настройки, управляющие объемом подключений к сервису бэкэнда. Это поле применимо только тогда, когда `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` — в HTTP, HTTPS или HTTP2. | ||||
| maxConnections целое число | успех | Максимальное количество подключений к кластеру бэкэнда. По умолчанию 1024. | ||||
| maxPendingRequests целое число | успех | Максимальное количество ожидающих запросов к кластеру бэкэнда. По умолчанию 1024. | ||||
| maxRequests целое число | успех | Максимальное количество параллельных запросов к кластеру бэкэнда. По умолчанию 1024. | ||||
| maxRequestsPerConnection integer | success | Максимальное количество запросов для одного подключения к бэкенду. Этот параметр учитывается как реализацией HTTP/1.1, так и HTTP/2. Если не указано, ограничений нет. Установка этого параметра в 1 фактически отключит keep-alive. | ||||
| maxRetries integer | success | Максимальное количество параллельных попыток повторного обращения к кластеру бэкенда. По умолчанию 3. | ||||
| connectionDraining complex | success | Настройки для закрытия подключений. | ||||
| drainingTimeoutSec integer | success | Время, в течение которого экземпляр будет закрывать подключения (не принимать новые подключения, но продолжать работу с уже начатыми). | ||||
| consistentHash complex | success | Использование консистентного хеширования для балансировки нагрузки позволяет обеспечить мягкую привязку сессии на основе HTTP-заголовков, куки или других свойств. Эта политика балансировки применима только для HTTP-подключений. Привязка к конкретному целевому хосту будет потеряна, когда один или несколько хостов будут добавлены/удалены из целевой службы. Это поле задаёт параметры, управляющие консистентным хешированием. Это поле применимо только в том случае, если все из перечисленного ниже верно - * `load_balancing_scheme` задан как INTERNAL_MANAGED * `protocol` задан как HTTP, HTTPS или HTTP2 * `locality_lb_policy` задан как MAGLEV или RING_HASH . | ||||
| httpCookie complex | success | Хеширование основано на HTTP-куки. Это поле описывает HTTP-куки, которые будут использоваться в качестве ключа хеширования для балансировщика консистентного хеширования. Если куки нет, она будет сгенерирована. Это поле применимо, если sessionAffinity задано как HTTP_COOKIE. | ||||
| name string | success | Имя куки. | ||||
| path string | success | Путь для куки. | ||||
| ttl complex | success | Срок действия куки. | ||||
| nanos integer | success | Длительность, представляющая собой дробную долю секунды с разрешением в наносекунды. Продолжительности, меньшие одной секунды, представляются с полем 0 секунд и положительным полем nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| seconds integer | success | Длительность с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| httpHeaderName string | success | Хеширование на основе значения указанного поля заголовка. Это поле применимо, если sessionAffinity задано как HEADER_FIELD. | ||||
| minimumRingSize integer | success | Минимальное количество виртуальных узлов для использования в кольце хеширования. Более крупные размеры кольца приводят к более гранулированному распределению нагрузки. Если количество хостов в пуле балансировки нагрузки больше размера кольца, каждому хосту будет назначен один виртуальный узел. По умолчанию 1024. | ||||
| creationTimestamp string | success | Дата и время создания в формате RFC3339. | ||||
| description string | success | Необязательное описание этого ресурса. | ||||
| enableCDN boolean | success | Если true, включить Cloud CDN для этого RegionBackendService. | ||||
| failoverPolicy complex | success | Политика для переключений. | ||||
| disableConnectionDrainOnFailover boolean | success | При переключении или возврате в исходное состояние это поле указывает, будет ли соблюдаться закрытие подключений. Установка этого значения в true имеет следующий эффект: подключения к старому активному пулу не закрываются. Подключения к новому активному пулу используют таймаут 10 минут (в настоящее время фиксированный). Установка в false имеет следующий эффект: как старые, так и новые подключения будут иметь таймаут закрытия подключений 10 минут. Это может быть установлено в true только в том случае, если протокол TCP. По умолчанию false. | ||||
| dropTrafficIfUnhealthy boolean | success | Этот параметр используется только тогда, когда не обнаруживаются здоровые виртуальные машины в группах первичных и резервных экземпляров. При установке в значение true трафик отбрасывается. При установке в значение false новые подключения отправляются по всем виртуальным машинам в первичной группе. По умолчанию false. | ||||
| failoverRatio string | success | Значение поля должно быть в диапазоне [0, 1]. Если отношение здоровых виртуальных машин в первичном бэкенде находится или ниже этого числа, трафик, поступающий на IP-адрес сбалансированной нагрузки, будет направлен на бэкенд переключения. В случае, когда «failoverRatio» не установлен или все виртуальные машины в бэкенде резервного копирования неисправны, трафик будет направлен обратно в первичный бэкенд в режиме «принудительного» переключения, где трафик будет распределён между здоровыми виртуальными машинами с наилучшими усилиями или ко всем виртуальным машинам, когда виртуальная машина неисправна. Это поле используется только для балансировки нагрузки уровня 4. | ||||
| fingerprint string | success | Отпечаток этого ресурса. Хеш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки. | ||||
| healthChecks list / elements=string | success | Набор URL-адресов ресурсов HealthCheck для проверки состояния RegionBackendService. В настоящее время может быть указана не более одной проверки состояния. Проверка состояния должна быть указана, если бэкенд-сервис не использует интернет- или серверлес-NEG в качестве бэкенда. | ||||
| 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. Это поле применимо только в том случае, если `load_balancing_scheme` установлен в INTERNAL_MANAGED, а `protocol` — в HTTP, HTTPS или HTTP2. | ||||
| logConfig complex | success | Это поле обозначает параметры ведения журнала для трафика балансировщика, обслуживаемого этим бэкенд-сервисом. Если ведение журнала включено, журналы будут экспортированы в Stackdriver. | ||||
| enable boolean | success | Включить ведение журнала для трафика балансировщика, обслуживаемого этим бэкенд-сервисом. | ||||
| sampleRate string | success | Это поле можно указать только в том случае, если ведение журнала включено для этого бэкенд-сервиса. Значение поля должно быть в диапазоне [0, 1]. Это настраивает коэффициент выборки запросов к балансировщику, где 1,0 означает, что все зарегистрированные запросы будут отчётны, а 0,0 — что ни один зарегистрированный запрос не будет отчётным. Значение по умолчанию 1,0. | ||||
| имя строка | успех | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, длина должна быть от 1 до 63 символов, и имя должно соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | ||||
| сеть словарь | успех | URL сети, к которой принадлежит эта служба бэкенда. Это поле можно указать только при схеме балансировки нагрузки INTERNAL. | ||||
| обнаружение_исключений сложный | успех | Настройки, контролирующие удаление неисправных узлов из пула балансировки нагрузки. Это поле применимо только тогда, когда `load_balancing_scheme` установлено в INTERNAL_MANAGED, а `protocol` — в HTTP, HTTPS или HTTP2. | ||||
| базовое_время_выброса сложный | успех | Базовое время выброса узла. Фактическое время равно базовому времени, умноженному на количество раз, когда узел был выброшен. По умолчанию 30000 мс или 30 с. | ||||
| наносекунды целое | успех | Продолжительность времени, которая является дробной частью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 0 в поле `seconds` и положительным значением в поле `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| секунды целое | успех | Продолжительность времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| последовательные_ошибки целое | успех | Количество ошибок до удаления узла из пула подключений. При доступе к хосту бэкенда через HTTP, код ответа 5xx считается ошибкой. По умолчанию 5. | ||||
| последовательные_ошибки_шлюза целое | успех | Количество последовательных сбоев шлюза (статусы 502, 503, 504 или ошибки соединения, которые отображаются одним из этих кодов статуса) до выброса из-за последовательных ошибок шлюза. По умолчанию 5. | ||||
| принудительные_последовательные_ошибки целое | успех | Вероятность (в процентах), что узел будет выброшен, когда статус исключения обнаружен через последовательные 5xx. Это значение можно использовать для отключения выброса или постепенного его включения. По умолчанию 100. | ||||
| принудительные_последовательные_ошибки_шлюза целое | успех | Вероятность (в процентах), что узел будет выброшен, когда статус исключения обнаружен через последовательные ошибки шлюза. Это значение можно использовать для отключения выброса или постепенного его включения. По умолчанию 0. | ||||
| принудительная_доля_успеха целое | успех | Вероятность (в процентах), что узел будет выброшен, когда статус исключения обнаружен через статистику доли успешных запросов. Это значение можно использовать для отключения выброса или постепенного его включения. По умолчанию 100. | ||||
| интервал сложный | успех | Интервал времени между анализом выбросов. Это может привести как к новым выбросам, так и к возвращению узлов в службу. По умолчанию 10 секунд. | ||||
| наносекунды целое | успех | Продолжительность времени, которая является дробной частью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 0 в поле `seconds` и положительным значением в поле `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно. | ||||
| секунды целое | успех | Продолжительность времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно. | ||||
| максимальный_процент_выбросов целое | успех | Максимальный процент узлов в пуле балансировки нагрузки для службы бэкенда, которые могут быть выброшены. По умолчанию 10%. | ||||
| минимальное_количество_узлов_для_доли_успеха целое | успех | Количество узлов в кластере, у которых должно быть достаточно объема запросов для обнаружения исключений в доле успешных запросов. Если количество узлов меньше этого значения, обнаружение исключений по статистике доли успешных запросов не выполняется для какого-либо узла в кластере. По умолчанию 5. | ||||
| минимальный_объем_запросов_для_доли_успеха целое | успех | Минимальное количество общих запросов, которые должны быть собраны в одном интервале (как определено выше интервалом времени), чтобы включить этот узел в обнаружение исключений на основе доли успешных запросов. Если объем меньше этого значения, обнаружение исключений по статистике доли успешных запросов не выполняется для этого узла. По умолчанию 100. | ||||
| коэффициент_стандартного_отклонения_для_доли_успеха целое | успех | Этот коэффициент используется для определения порога выброса для исключений по доле успешных запросов. Порог выброса — это разность между средней долей успешных запросов и произведением этого коэффициента на стандартное отклонение от средней доли успешных запросов: среднее - (стандартное_отклонение * коэффициент_стандартного_отклонения_для_доли_успеха). Этот коэффициент делится на тысячу, чтобы получить вещественное число. То есть, если желаемый коэффициент равен 1,9, значение в коде должно быть 1900. По умолчанию 1900. | ||||
| имя_порта строка | успех | Именованный порт на группе виртуальных машин бэкенда, представляющий порт для связи с виртуальными машинами бэкенда в этой группе. Требуется, когда loadBalancingScheme — EXTERNAL, INTERNAL_MANAGED или INTERNAL_SELF_MANAGED, а бэкенды — группы виртуальных машин. Имя порта должно быть определено в каждой группе виртуальных машин бэкенда. Этот параметр не имеет смысла, если бэкенды — NEGs. API устанавливает значение по умолчанию "http", если оно не указано. Должен быть опущен, когда loadBalancingScheme — INTERNAL (внутренняя балансировка TCP/UDP нагрузки). | ||||
| протокол строка | успех | Протокол, используемый RegionBackendService для связи с бэкендами. По умолчанию HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для бета-версий балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA. | ||||
| регион строка | успех | Ссылка на регион, где находится региональная служба бэкенда. | ||||
| сродство_сессий строка | успех | Тип сродства сессий для использования. По умолчанию NONE. Сродство сессий неприменимо, если протокол UDP. | ||||
| timeout_сек целое | успех | Количество секунд ожидания бэкенда перед обработкой запроса как неудачного. По умолчанию 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_region_backend_service_info_module.html