gcp_compute_backend_service – Создаёт GCP BackendService
Новая версия с 2.6.
Обзор
- Создаёт ресурс BackendService в указанном проекте, используя данные из запроса.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| affinity_cookie_ttl_sec - | Срок действия cookie в секундах, если session_affinity — GENERATED_COOKIE. Если установлено значение 0, cookie не сохраняется и действует только до конца сеанса браузера (или эквивалента). Максимально допустимое значение TTL — один день. При схеме балансировки INTERNAL это поле не используется. | |||
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | ||
| backends - | Список бэкэндов, обслуживаемых этим BackendService. | |||
| balancing_mode - |
| Указывает режим балансировки для этого бэкэнда. Для глобальной HTTP(S) или TCP/SSL балансировки по умолчанию используется UTILIZATION. Допустимые значения — UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). Не может использоваться для внутренней балансировки. | ||
| capacity_scaler - | Значение по умолчанию: "1.0" | Множитель, применяемый к максимальной производительности группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной производительности (в зависимости от balancingMode). Значение 0 означает, что группа полностью выключена, предлагая 0% своей доступной производительности. Допустимый диапазон — [0.0, 1.0]. Не может использоваться для внутренней балансировки. | ||
| description - | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |||
| group - | Эта группа экземпляров определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в службе бэкэндов не могут использовать один и тот же ресурс группы экземпляров. Когда BackendService имеет схему балансировки INTERNAL, группа экземпляров должна находиться в зоне в той же области, что и сам BackendService. Это поле представляет ссылку на ресурс InstanceGroup в GCP. Оно может быть указано двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` в задачу gcp_compute_instance_group и затем установить это поле group на "{{ name-of-resource }}" | |||
| max_connections - | Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance. Не может использоваться для внутренней балансировки. | |||
| max_connections_per_instance - | Максимальное количество одновременных подключений, которые может обрабатывать один бэкэнд-экземпляр. Это используется для расчета производительности группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance. Не может использоваться для внутренней балансировки. | |||
| max_rate - | Максимальное количество запросов в секунду (RPS) группы. Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется при режиме RATE. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance. Не может использоваться для внутренней балансировки. | |||
| max_rate_per_instance - | Максимальное количество запросов в секунду (RPS), которое может обрабатывать один бэкэнд-экземпляр. Это используется для расчета производительности группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance. Не может использоваться для внутренней балансировки. | |||
| max_utilization - | Значение по умолчанию: "0.8" | Используется, когда balancingMode — UTILIZATION. Это отношение определяет целевое значение использования ЦП для группы. По умолчанию — 0,8. Допустимый диапазон — [0,0, 1,0]. Не может использоваться для внутренней балансировки. | ||
| cdn_policy - | Настройка Cloud CDN для этого BackendService. | |||
| cache_key_policy - | CacheKeyPolicy для этого CdnPolicy. | |||
| include_host boolean |
| Если true, запросы к различным хостам будут кэшироваться отдельно. | ||
| include_protocol boolean |
| Если true, запросы http и https будут кэшироваться отдельно. | ||
| include_query_string boolean |
| Если true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни одно из них не установлено, вся строка запроса включается. Если false, строка запроса полностью исключается из ключа кэша. | ||
| query_string_blacklist - | Имена параметров строки запроса, которые нужно исключить из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители. | |||
| query_string_whitelist - | Имена параметров строки запроса, которые нужно включить в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители. | |||
| signed_url_cache_max_age_sec - добавлен в 2.8 | Значение по умолчанию: "3600" | Максимальное количество секунд, в течение которого ответ на запрос с помощью подписанной URL-адреса будет считаться актуальным, по умолчанию — 1 час (3600 секунд). По истечении этого периода ответ будет повторно проверен перед предоставлением. При предоставлении ответов на запросы с помощью подписанных URL-адресов Cloud CDN будет внутренне вести себя так, как будто все ответы от этого бэкэнда имели заголовок «Cache-Control: public, max-age=[TTL]», независимо от любого существующего заголовка Cache-Control. Фактические заголовки, предоставляемые в ответах, не будут изменены. | ||
| connection_draining - | Настройки для отключения подключения. | |||
| draining_timeout_sec - | Значение по умолчанию: "300" | Время, в течение которого экземпляр будет выводиться из эксплуатации (не принимать новые подключения, но продолжать работу с завершенными). | ||
| description - | Необязательное описание этого ресурса. | |||
| enable_cdn boolean |
| Если true, включить Cloud CDN для этого BackendService. При схеме балансировки INTERNAL это поле не используется. | ||
| health_checks - / обязательно | Список URL-адресов HttpHealthCheck или HttpsHealthCheck ресурса для проверки работоспособности этого BackendService. В настоящее время может быть указана только одна проверка работоспособности, и проверка работоспособности требуется. Для внутренней балансировки вместо этого необходимо указать URL-адрес ресурса HealthCheck. | |||
| iap - добавлен в 2.7 | Настройки для включения Cloud Identity Aware Proxy. | |||
| enabled boolean |
| Включает IAP. | ||
| oauth2_client_id - / обязательно | Идентификатор клиента OAuth2 для IAP. | |||
| oauth2_client_secret - / обязательно | Секрет клиента OAuth2 для IAP. | |||
| load_balancing_scheme - добавлен в 2.7 |
| Указывает, будет ли служба обратного вызова использоваться с внутренней или внешней балансировкой нагрузки. Служба обратного вызова, созданная для одного типа балансировки нагрузки, не может использоваться с другим. Один из `INTERNAL` или `EXTERNAL`. По умолчанию `EXTERNAL`. | ||
| name - / обязательно | Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. Точнее, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | |||
| port_name - | Имя порта обратного вызова. То же имя должно быть указано в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки — EXTERNAL. Когда схема балансировки нагрузки — INTERNAL, это поле не используется. | |||
| project строка | Проект Google Cloud Platform, который нужно использовать. | |||
| protocol - |
| Протокол, который использует BackendService для связи с бэкендами. Возможные значения: HTTP, HTTPS, TCP и SSL. По умолчанию — HTTP. Для внутренней балансировки нагрузки возможные значения — TCP и UDP, а значение по умолчанию — TCP. | ||
| scopes список | Массив используемых областей. | |||
| security_policy - добавлен в 2.8 | Политика безопасности, связанная с этой службой обратного вызова. | |||
| service_account_contents строка | Строка, представляющая содержимое файла JSON учетной записи службы. Это не должно передаваться как словарь, а как строка, содержащая точное содержимое файла JSON учетной записи службы (валидный JSON). | |||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран параметр machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. | |||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран как тип. | |||
| session_affinity - |
| Тип сродства сессии для использования. По умолчанию — NONE. При схеме балансировки нагрузки EXTERNAL может быть NONE, CLIENT_IP или GENERATED_COOKIE. При схеме балансировки нагрузки INTERNAL может быть NONE, CLIENT_IP, CLIENT_IP_PROTO или CLIENT_IP_PORT_PROTO. При протоколе UDP это поле не используется. | ||
| state - |
| Существует ли данный объект в GCP | ||
| timeout_sec - | Сколько секунд ждать бэкенда, прежде чем считать запрос неудачным. По умолчанию 30 секунд. Допустимый диапазон значений: [1, 86400]. Псевдонимы: timeout_seconds | |||
Примечания
Примечание
- Для аутентификации можно установить service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a instance group
gcp_compute_instance_group:
name: instancegroup-backendservice
zone: us-central1-a
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: instancegroup
- name: create a http health check
gcp_compute_http_health_check:
name: httphealthcheck-backendservice
healthy_threshold: 10
port: 8080
timeout_sec: 2
unhealthy_threshold: 5
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: healthcheck
- name: create a backend service
gcp_compute_backend_service:
name: test_object
backends:
- group: "{{ instancegroup }}"
health_checks:
- "{{ healthcheck.selfLink }}"
enable_cdn: 'true'
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| affinityCookieTtlSec целое число | успех | Срок действия cookie в секундах, если session_affinity — GENERATED_COOKIE. Если значение равно 0, cookie не сохраняется и действует только до закрытия сессии браузера (или эквивалента). Максимально допустимое значение TTL — один день. Если схема балансировки — INTERNAL, это поле не используется. | ||
| backends сложное | успех | Список бэкэндов, обслуживающих этот BackendService. | ||
| balancingMode строка | успех | Указывает режим балансировки для этого бэкэнда. Для глобальной балансировки HTTP(S) или TCP/SSL по умолчанию используется UTILIZATION. Допустимые значения — UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). Не может быть использовано для внутренней балансировки. | ||
| capacityScaler строка | успех | Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью выключена, предлагая 0% своей доступной пропускной способности. Допустимый диапазон — [0.0,1.0]. Не может быть использовано для внутренней балансировки. | ||
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| group словарь | успех | Эта группа экземпляров определяет список экземпляров, обслуживающих трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в службе бэкэнда не могут использовать один и тот же ресурс группы экземпляров. Когда у BackendService есть схема балансировки INTERNAL, группа экземпляров должна находиться в зоне в том же регионе, что и BackendService. | ||
| maxConnections целое число | успех | Максимальное количество одновременных подключений для группы. Может быть использовано с режимами балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance. Не может быть использовано для внутренней балансировки. | ||
| maxConnectionsPerInstance целое число | успех | Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкэнда. Это используется для расчета емкости группы. Может быть использовано в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance. Не может быть использовано для внутренней балансировки. | ||
| maxRate целое число | успех | Максимальное количество запросов в секунду (RPS) группы. Может быть использовано с режимами балансировки RATE или UTILIZATION, но требуется в режиме RATE. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance. Не может быть использовано для внутренней балансировки. | ||
| maxRatePerInstance строка | успех | Максимальное количество запросов в секунду (RPS), которое может обработать один экземпляр бэкэнда. Это используется для расчета емкости группы. Может быть использовано в любом режиме балансировки. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance. Не может быть использовано для внутренней балансировки. | ||
| maxUtilization строка | успех | Используется, когда balancingMode — UTILIZATION. Это соотношение определяет целевое значение использования ЦП для группы. Значение по умолчанию — 0,8. Допустимый диапазон — [0.0, 1.0]. Не может быть использовано для внутренней балансировки. | ||
| cdnPolicy сложное | успех | Настройка Cloud CDN для этого BackendService. | ||
| cacheKeyPolicy сложное | успех | 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 целое число | успех | Максимальное количество секунд, в течение которых ответ на запрос подписанной ссылки будет считаться актуальным, по умолчанию 1 час (3600 с). По истечении этого периода ответ будет повторно проверен перед отображением. При предоставлении ответов на запросы подписанных URL-адресов Cloud CDN будет внутренне вести себя так, как будто все ответы от этого бэкэнда имели заголовок «Cache-Control: public, max-age=[TTL]», независимо от наличия существующего заголовка Cache-Control. Фактические заголовки, передаваемые в ответах, не будут изменены. | ||
| connectionDraining сложное | успех | Настройки для сброса соединения. | ||
| drainingTimeoutSec целое число | успех | Время, в течение которого экземпляр будет закрываться (не будет принимать новые подключения, но продолжит работу, чтобы завершить начатые). | ||
| creationTimestamp строка | успех | Дата и время создания в формате RFC3339. | ||
| description строка | успех | Необязательное описание этого ресурса. | ||
| enableCDN булево | успех | Если true, Cloud CDN включен для этого BackendService. Если схема балансировки — INTERNAL, это поле не используется. | ||
| fingerprint строка | успех | Отпечаток этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки. | ||
| healthChecks список | успех | Список URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного контроллера работоспособности, и контроллер работоспособности требуется. Для внутренней балансировки необходимо указать URL-адрес ресурса HealthCheck. | ||
| iap сложное | успех | Настройки для включения Cloud Identity Aware Proxy. | ||
| enabled булево | успех | Включает IAP. | ||
| oauth2ClientId строка | успех | Идентификатор клиента OAuth2 для IAP. | ||
| oauth2ClientSecret строка | успех | Секрет клиента OAuth2 для IAP. | ||
| oauth2ClientSecretSha256 строка | успех | SHA-256 секрета клиента OAuth2 для IAP. | ||
| id целое число | успех | Уникальный идентификатор ресурса. | ||
| loadBalancingScheme string | success | Указывает, будет ли служба обратного канала использоваться с внутренней или внешней балансировкой нагрузки. Служба обратного канала, созданная для одного типа балансировки нагрузки, не может использоваться с другим. Одно из значений `INTERNAL` или `EXTERNAL`. По умолчанию значение `EXTERNAL`. | ||
| name string | success | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | ||
| portName string | success | Имя порта обратного канала. Это же имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки — EXTERNAL. Если схема балансировки нагрузки — INTERNAL, это поле не используется. | ||
| protocol string | success | Протокол, используемый BackendService для связи с обратными каналами. Возможные значения: HTTP, HTTPS, TCP и SSL. По умолчанию используется HTTP. Для внутренней балансировки нагрузки возможные значения — TCP и UDP, а значение по умолчанию — TCP. | ||
| securityPolicy string | success | Политика безопасности, связанная с этой службой обратного канала. | ||
| sessionAffinity string | success | Тип сродства сессий для использования. По умолчанию значение NONE. Когда схема балансировки нагрузки — EXTERNAL, может быть NONE, CLIENT_IP или GENERATED_COOKIE. Когда схема балансировки нагрузки — INTERNAL, может быть NONE, CLIENT_IP, CLIENT_IP_PROTO или CLIENT_IP_PORT_PROTO. Если протокол — UDP, это поле не используется. | ||
| timeoutSec integer | success | Сколько секунд ждать обратного канала перед тем, как считать запрос неудачным. Значение по умолчанию — 30 секунд. Допустимый диапазон — [1, 86400]. | ||
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/gcp_compute_backend_service_module.html