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 | Ссылка на ресурс InstanceGroup. | |||
| 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 bool |
| Если true, запросы к разным хостам будут кэшироваться раздельно. | ||
| include_protocol bool |
| Если true, запросы http и https будут кэшироваться раздельно. | ||
| include_query_string bool |
| Если 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 bool |
| Если true, Cloud CDN будет включен для этого BackendService. При схеме балансировки INTERNAL это поле не используется. | ||
| health_checks | Список URL-адресов к ресурсам HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного проверочного средства, и оно обязательно. Для внутренней балансировки необходимо указать URL-адрес ресурса HealthCheck. | |||
| 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. | ||
| region | Ссылка на ресурс 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. - Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
- Параметры 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 }}"
scopes:
- https://www.googleapis.com/auth/compute
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 }}"
scopes:
- https://www.googleapis.com/auth/compute
state: present
register: healthcheck
- name: create a backend service
gcp_compute_backend_service:
name: testObject
backends:
- group: "{{ instancegroup }}"
health_checks:
- "{{ healthcheck.selfLink }}"
enable_cdn: true
project: testProject
auth_kind: service_account
service_account_file: /tmp/auth.pem
scopes:
- https://www.googleapis.com/auth/compute
state: present
Значения возврата
Общие значения возврата описаны здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращено | Описание | ||
|---|---|---|---|---|
| affinity_cookie_ttl_sec int | успех | Срок действия cookie в секундах, если session_affinity — GENERATED_COOKIE. Если установлено значение 0, cookie не сохраняется и действует только до конца сессии браузера (или эквивалента). Максимальное допустимое значение TTL — один день. При схеме балансировки INTERNAL это поле не используется. | ||
| backends complex | успех | Список бэкендов, которые обслуживают этот BackendService. | ||
| balancing_mode str | успех | Указывает режим балансировки для этого бэкенда. Для глобальной HTTP(S) или TCP/SSL балансировки по умолчанию используется UTILIZATION. Допустимые значения: UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL). Не может использоваться для внутренней балансировки. | ||
| capacity_scaler str | успех | Множитель, применяемый к максимальной емкости обслуживания группы (на основе UTILIZATION, RATE или CONNECTION). Значение по умолчанию — 1, что означает, что группа будет обслуживать до 100% своей конфигурированной емкости (в зависимости от balancingMode). Значение 0 означает, что группа полностью отключена, предлагая 0% своей доступной емкости. Допустимый диапазон значений [0.0,1.0]. Не может использоваться для внутренней балансировки. | ||
| description str | успех | Необязательное описание данного ресурса. Укажите это свойство при создании ресурса. | ||
| group dict | успех | Ссылка на ресурс InstanceGroup. | ||
| max_connections int | успех | Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerInstance. Не может использоваться для внутренней балансировки. | ||
| max_connections_per_instance int | успех | Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкенда. Используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION. Для режима CONNECTION необходимо установить либо maxConnections, либо maxConnectionsPerInstance. Не может использоваться для внутренней балансировки. | ||
| max_rate int | успех | Максимальное количество запросов в секунду (RPS) группы. Может использоваться с режимами балансировки RATE или UTILIZATION, но требуется, если используется режим RATE. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance. Не может использоваться для внутренней балансировки. | ||
| max_rate_per_instance str | успех | Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо установить либо maxRate, либо maxRatePerInstance. Не может использоваться для внутренней балансировки. | ||
| max_utilization str | успех | Используется, когда balancingMode — UTILIZATION. Это отношение определяет целевую загрузку ЦП для группы. По умолчанию — 0,8. Допустимый диапазон — [0,0, 1,0]. Не может использоваться для внутренней балансировки. | ||
| cdn_policy complex | успех | Настройка Cloud CDN для этого BackendService. | ||
| cache_key_policy complex | успех | CacheKeyPolicy для данной CdnPolicy. | ||
| include_host bool | успех | Если true, запросы к различным хостам будут кешироваться отдельно. | ||
| include_protocol bool | успех | Если true, запросы http и https будут кешироваться отдельно. | ||
| include_query_string bool | успех | Если true, параметры строки запроса включаются в ключ кэша в соответствии с query_string_whitelist и query_string_blacklist. Если ни то, ни другое не задано, вся строка запроса включается. Если false, строка запроса полностью исключается из ключа кэша. | ||
| query_string_blacklist list | успех | Имена параметров строки запроса, которые исключаются из ключей кэша. Все остальные параметры будут включены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители. | ||
| query_string_whitelist list | успех | Имена параметров строки запроса, которые включаются в ключи кэша. Все остальные параметры будут исключены. Укажите либо query_string_whitelist, либо query_string_blacklist, но не оба. '&' и '=' будут закодированы в процентах и не будут рассматриваться как разделители. | ||
| connection_draining complex | успех | Настройки для отключения соединений. | ||
| draining_timeout_sec int | успех | Время, в течение которого экземпляр будет отключаться (не принимать новые подключения, но по-прежнему работать над завершением начатых). | ||
| creation_timestamp str | успех | Маркер времени создания в формате RFC3339. | ||
| description str | успех | Необязательное описание данного ресурса. | ||
| enable_cdn bool | успех | Если true, включить Cloud CDN для этого BackendService. При схеме балансировки INTERNAL это поле не используется. | ||
| health_checks list | успех | Список URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности данного BackendService. В настоящее время может быть указана только одна проверка работоспособности, и проверка работоспособности требуется. Для внутренней балансировки вместо этого должен быть указан URL-адрес ресурса HealthCheck. | ||
| id int | успех | Уникальный идентификатор ресурса. | ||
| name str | успех | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть длина должна быть от 1 до 63 символов, а имя должно соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — тире, строчная буква или цифра, за исключением последнего символа, который не может быть тире. | ||
| port_name str | успех | Имя порта бэкенда. То же имя должно присутствовать в группах экземпляров, на которые ссылается этот сервис. Требуется, когда схема балансировки — EXTERNAL. При схеме балансировки INTERNAL это поле не используется. | ||
| protocol str | успех | Протокол, который использует BackendService для взаимодействия с бэкендами. Возможные значения: HTTP, HTTPS, TCP и SSL. По умолчанию — HTTP. Для внутренней балансировки возможные значения — TCP и UDP, по умолчанию — TCP. | ||
| region str | успех | Ссылка на ресурс Region. | ||
| session_affinity str | успех | Тип сродства сессий для использования. По умолчанию — NONE. Когда схема балансировки — EXTERNAL, может быть NONE, CLIENT_IP или GENERATED_COOKIE. Когда схема балансировки — INTERNAL, может быть NONE, CLIENT_IP, CLIENT_IP_PROTO или CLIENT_IP_PORT_PROTO. Когда протокол — UDP, это поле не используется. | ||
| timeout_sec int | успех | Количество секунд ожидания бэкенда, прежде чем считать запрос не выполненным. По умолчанию — 30 секунд. Допустимый диапазон — [1, 86400]. | ||
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Чтобы получить список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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.6/modules/gcp_compute_backend_service_module.html