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 - | Множитель, применяемый к максимальной пропускной способности группы (основанной на UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью выключена и не предоставляет 0% доступной емкости. Допустимый диапазон — [0.0, 1.0]. Не может быть использовано для внутренней балансировки. | |||
| description - | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |||
| group - | Эта группа экземпляров определяет список экземпляров, которые обрабатывают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в службе бэкэнда не могут использовать один и тот же ресурс группы экземпляров. Когда BackendService имеет схему балансировки INTERNAL, группа экземпляров должна находиться в зоне в том же регионе, что и сам BackendService. | |||
| 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 - | Используется, когда 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, но не оба. '&' и '=' будут закодированы в проценты и не будут обрабатываться как разделители. | |||
| connection_draining - | Настройки для отключения соединения. | |||
| draining_timeout_sec - | Время, в течение которого экземпляр будет отключен (не принимает новые подключения, но продолжает работу, чтобы завершить начатые). | |||
| description - | Необязательное описание этого ресурса. | |||
| enable_cdn boolean |
| Если true, включить Cloud CDN для этого BackendService. При схеме балансировки INTERNAL это поле не используется. | ||
| health_checks - | Список URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного средства проверки работоспособности, и средство проверки работоспособности обязательно. Для внутренней балансировки вместо URL-адреса ресурса HealthCheck необходимо указать URL-адрес. | |||
| iap - добавлено в 2.7 | Настройки для включения Cloud Identity Aware Proxy. | |||
| enabled boolean |
| Включает IAP. | ||
| oauth2_client_id - | OAuth2 Client ID для IAP. | |||
| oauth2_client_secret - | OAuth2 Client Secret для IAP. | |||
| oauth2_client_secret_sha256 - | OAuth2 Client Secret SHA-256 для IAP. | |||
| load_balancing_scheme - добавлено в 2.7 |
| Указывает, будет ли служба бэкэнда использоваться с внутренней или внешней балансировкой. Служба бэкэнда, созданная для одного типа балансировки, не может использоваться с другим типом. | ||
| имя - | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | |||
| port_name - | Имя порта бэкенда. То же самое имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки — EXTERNAL. Когда схема балансировки — INTERNAL, это поле не используется. | |||
| project - | По умолчанию: null | Проект Google Cloud Platform, который необходимо использовать. | ||
| protocol - |
| Протокол, который использует этот BackendService для связи с бэкендами. Возможные значения — HTTP, HTTPS, TCP и SSL. По умолчанию используется HTTP. Для внутренней балансировки нагрузки возможные значения — TCP и UDP, по умолчанию используется TCP. | ||
| region - | Регион, в котором находится региональная служба бэкенда. Это поле не применимо к глобальным службам бэкенда. | |||
| scopes - | Массив используемых областей. | |||
| 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. - Для аутентификации можно установить 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: "service_account"
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| affinity_cookie_ttl_sec целое число | успех | Срок действия cookie в секундах, если session_affinity — GENERATED_COOKIE. Если установлено значение 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимально допустимое значение TTL — один день. При использовании схемы балансировки INTERNAL это поле не используется. | ||
| backends сложное | успех | Список бэкендов, обслуживающих этот BackendService. | ||
| balancing_mode строка | успех | Указывает режим балансировки для этого бэкенда. Для глобальной HTTP(S) или TCP/SSL балансировки по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). Не может использоваться для внутренней балансировки. | ||
| capacity_scaler строка | успех | Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью отключена, предлагая 0% своей доступной пропускной способности. Допустимый диапазон — [0.0, 1.0]. Не может использоваться для внутренней балансировки. | ||
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| group словарь | успех | Эта группа экземпляров определяет список экземпляров, которые обрабатывают трафик. Виртуальные машины-члены из каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в службе бэкенда не могут использовать один и тот же ресурс группы экземпляров. Когда у BackendService есть схема балансировки INTERNAL, группа экземпляров должна находиться в зоне в том же регионе, что и BackendService. | ||
| 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 строка | успех | Используется, когда balancingMode равен UTILIZATION. Это отношение определяет целевое значение использования ЦП для группы. Значение по умолчанию — 0,8. Допустимый диапазон — [0,0, 1,0]. Не может использоваться для внутренней балансировки. | ||
| cdn_policy сложное | успех | Настройка Cloud CDN для данного BackendService. | ||
| cache_key_policy сложное | успех | CacheKeyPolicy для этого CdnPolicy. | ||
| include_host булево | успех | Если true, запросы к различным хостам будут кэшироваться отдельно. | ||
| include_protocol булево | успех | Если true, запросы http и https будут кэшироваться отдельно. | ||
| include_query_string булево | успех | Если 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, но не оба. '&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители. | ||
| connection_draining сложное | успех | Настройки для отключения соединения. | ||
| draining_timeout_sec целое число | успех | Время, в течение которого экземпляр будет отключаться (не принимать новые подключения, но продолжать завершать начатые). | ||
| creation_timestamp строка | успех | Дата и время создания в формате RFC3339. | ||
| description строка | успех | Необязательное описание этого ресурса. | ||
| enable_cdn булево | успех | Если true, Cloud CDN включен для этого BackendService. При использовании схемы балансировки INTERNAL это поле не используется. | ||
| health_checks список | успех | Список URL-адресов к ресурсам HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время может быть указана только одна проверка работоспособности, и проверка работоспособности необходима. Для внутренней балансировки вместо этого необходимо указать URL-адрес ресурса HealthCheck. | ||
| iap сложное | успех | Настройки для включения Cloud Identity Aware Proxy. | ||
| enabled булево | успех | Включает IAP. | ||
| oauth2_client_id строка | успех | OAuth2 Client ID для IAP. | ||
| oauth2_client_secret строка | успех | OAuth2 Client Secret для IAP. | ||
| oauth2_client_secret_sha256 строка | успех | OAuth2 Client Secret SHA-256 для IAP. | ||
| id целое число | успех | Уникальный идентификатор ресурса. | ||
| load_balancing_scheme строка | успех | Указывает, будет ли служба бэкенда использоваться с внутренней или внешней балансировкой нагрузки. Служба бэкенда, созданная для одного типа балансировки, не может использоваться с другим. | ||
| name строка | успех | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | ||
| port_name строка | success | Имя порта бэкенда. Это же имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки — EXTERNAL. Когда схема балансировки — INTERNAL, это поле не используется. | ||
| protocol строка | success | Протокол, используемый BackendService для связи с бэкендами. Возможные значения: HTTP, HTTPS, TCP и SSL. По умолчанию — HTTP. Для внутренней балансировки нагрузки возможные значения — TCP и UDP, по умолчанию — TCP. | ||
| region строка | success | Регион, в котором находится региональная служба бэкенда. Это поле не применимо к глобальным службам бэкенда. | ||
| session_affinity строка | success | Тип сродства сеансов. По умолчанию — NONE. При схеме балансировки EXTERNAL может быть NONE, CLIENT_IP или GENERATED_COOKIE. При схеме балансировки INTERNAL может быть NONE, CLIENT_IP, CLIENT_IP_PROTO или CLIENT_IP_PORT_PROTO. Если протокол UDP, это поле не используется. | ||
| timeout_sec целое число | success | Количество секунд ожидания бэкенда перед признанием запроса неудачным. По умолчанию — 30 секунд. Допустимый диапазон — [1, 86400]. | ||
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Данный модуль поддерживается сообществом 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.7/modules/gcp_compute_backend_service_module.html