Spec-Zone.ru › Ansible 2.8

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
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
backends
-
Список бэкэндов, обслуживаемых этим BackendService.
balancing_mode
-
    Варианты:
  • UTILIZATION ←
  • RATE
  • CONNECTION
Указывает режим балансировки для этого бэкэнда.
Для глобальной 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
    Варианты:
  • no
  • yes
Если true, запросы к различным хостам будут кэшироваться отдельно.
include_protocol
boolean
    Варианты:
  • no
  • yes
Если true, запросы http и https будут кэшироваться отдельно.
include_query_string
boolean
    Варианты:
  • no
  • yes
Если 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
    Варианты:
  • no
  • yes
Если true, включить Cloud CDN для этого BackendService.
При схеме балансировки INTERNAL это поле не используется.
health_checks
- / обязательно
Список URL-адресов HttpHealthCheck или HttpsHealthCheck ресурса для проверки работоспособности этого BackendService. В настоящее время может быть указана только одна проверка работоспособности, и проверка работоспособности требуется.
Для внутренней балансировки вместо этого необходимо указать URL-адрес ресурса HealthCheck.
iap
-
добавлен в 2.7
Настройки для включения Cloud Identity Aware Proxy.
enabled
boolean
    Варианты:
  • no
  • yes
Включает IAP.
oauth2_client_id
- / обязательно
Идентификатор клиента OAuth2 для IAP.
oauth2_client_secret
- / обязательно
Секрет клиента OAuth2 для IAP.
load_balancing_scheme
-
добавлен в 2.7
    Варианты:
  • INTERNAL
  • EXTERNAL ←
Указывает, будет ли служба обратного вызова использоваться с внутренней или внешней балансировкой нагрузки. Служба обратного вызова, созданная для одного типа балансировки нагрузки, не может использоваться с другим. Один из `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
-
    Варианты:
  • HTTP
  • HTTPS
  • TCP
  • SSL
Протокол, который использует 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
  • CLIENT_IP
  • GENERATED_COOKIE
  • CLIENT_IP_PROTO
  • CLIENT_IP_PORT_PROTO
Тип сродства сессии для использования. По умолчанию — NONE.
При схеме балансировки нагрузки EXTERNAL может быть NONE, CLIENT_IP или GENERATED_COOKIE.
При схеме балансировки нагрузки INTERNAL может быть NONE, CLIENT_IP, CLIENT_IP_PROTO или CLIENT_IP_PORT_PROTO.
При протоколе UDP это поле не используется.
state
-
    Варианты:
  • present ←
  • absent
Существует ли данный объект в 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API