Spec-Zone.ru › Ansible 2.9

gcp_compute_backend_service – Создаёт GCP BackendService

Новая версия с 2.6.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата
  • Статус

Описание

  • Сервис обратной связи определяет группу виртуальных машин, которые будут обслуживать трафик для балансировки нагрузки. Этот ресурс — глобальный сервис обратной связи, подходящий для внешней балансировки нагрузки или самонастраиваемой внутренней балансировки нагрузки.
  • Для управляемой внутренней балансировки нагрузки используйте региональный сервис обратной связи.
  • В настоящее время самонастраиваемая внутренняя балансировка нагрузки доступна только в бета-версии.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • 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"
Указывает режим балансировки для этого бэкенда.
Для глобальной HTTP(S) или TCP/SSL балансировки по умолчанию используется UTILIZATION. Допустимые значения — UTILIZATION, RATE (для HTTP(S)) и CONNECTION (для TCP/SSL).
Некоторые допустимые варианты включают: "UTILIZATION", "RATE", "CONNECTION"
capacity_scaler
строка
Значение по умолчанию:
"1.0"
Множитель, применяемый к максимальной пропускной способности группы (на основе UTILIZATION, RATE или CONNECTION).
Значение по умолчанию равно 1, что означает, что группа будет обслуживать до 100% своей конфигурированной пропускной способности (в зависимости от balancingMode). Значение 0 означает, что группа полностью выведена из работы, предлагая 0% доступной пропускной способности. Допустимый диапазон — [0.0, 1.0].
description
строка
Необязательное описание этого ресурса.
Укажите это свойство при создании ресурса.
group
строка
Полный URL ресурса группы экземпляров или группы сетевых конечных точек. В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкенда в службе бэкенда не могут использовать один и тот же ресурс группы экземпляров.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и группа сетевых конечных точек.
Служба бэкенда не может содержать смесь бэкендов групп экземпляров и групп сетевых конечных точек.
Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL, а не частичного.
max_connections
целое число
Максимальное количество одновременных подключений для группы. Может использоваться с режимами балансировки CONNECTION или UTILIZATION.
Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance или maxConnectionsPerEndpoint, в зависимости от типа группы.
max_connections_per_endpoint
целое число
добавлен в 2.9
Максимальное количество одновременных подключений, которые может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION.
Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerEndpoint.
max_connections_per_instance
целое число
Максимальное количество одновременных подключений, которые может обрабатывать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в режимах балансировки CONNECTION или UTILIZATION.
Для режима CONNECTION необходимо указать либо maxConnections, либо maxConnectionsPerInstance.
max_rate
целое число
Максимальное количество запросов в секунду (RPS) группы.
Может использоваться с режимами балансировки RATE или UTILIZATION, но обязательно при использовании режима RATE. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы.
max_rate_per_endpoint
строка
добавлен в 2.9
Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо указать либо maxRate, либо maxRatePerEndpoint.
max_rate_per_instance
строка
Максимальное количество запросов в секунду (RPS), которое может обрабатывать один экземпляр бэкенда. Это используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance.
max_utilization
строка
Значение по умолчанию:
"0.8"
Используется при балансировке по UTILIZATION. Эта величина определяет целевую загрузку ЦП для группы. Значение по умолчанию равно 0,8. Допустимый диапазон — [0.0, 1.0].
cdn_policy
словарь
Настройка Cloud CDN для этого BackendService.
cache_key_policy
словарь
CacheKeyPolicy для этого CdnPolicy.
include_host
логическое значение
    Варианты:
  • no
  • yes
Если true, запросы к различным хостам будут кэшироваться отдельно.
include_protocol
логическое значение
    Варианты:
  • no
  • yes
Если true, запросы http и https будут кэшироваться отдельно.
include_query_string
логическое значение
    Варианты:
  • 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.
env_type
string
Указывает, в какой среде Ansible вы выполняете этот модуль.
Не следует устанавливать этот параметр, если вы не знаете, что делаете.
Это изменяет только строку User Agent для всех запросов API.
health_checks
list / обязательно
Набор URL-адресов ресурсов HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного средства проверки работоспособности, и средство проверки работоспособности обязательно.
Для внутренней балансировки нагрузки необходимо указать URL-адрес ресурса HealthCheck.
iap
dictionary
добавлено в 2.7
Параметры для включения Cloud Identity Aware Proxy.
enabled
boolean
    Варианты:
  • no
  • yes
Включает IAP.
oauth2_client_id
string / обязательно
OAuth2 Client ID для IAP.
oauth2_client_secret
string / обязательно
OAuth2 Client Secret для IAP.
load_balancing_scheme
string
добавлено в 2.7
По умолчанию:
"EXTERNAL"
Указывает, будет ли обратный сервер использоваться с внутренней или внешней балансировкой нагрузки. Обратный сервер, созданный для одного типа балансировки нагрузки, не может использоваться с другим. Должно быть `EXTERNAL` или `INTERNAL_SELF_MANAGED` для глобального обратного сервера. По умолчанию `EXTERNAL`.
Некоторые допустимые значения: "EXTERNAL", "INTERNAL_SELF_MANAGED"
name
string / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть, длина должна быть от 1 до 63 символов, и имя должно соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
port_name
string
Имя порта обратного сервера. То же имя должно быть указано в группах экземпляров, на которые ссылается этот сервер. Требуется, когда схема балансировки нагрузки — EXTERNAL.
project
string
Используемый проект Google Cloud Platform.
protocol
string
Протокол, используемый этим BackendService для связи с обратными серверами.
Возможные значения — HTTP, HTTPS, HTTP2, TCP и SSL. По умолчанию — HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустимо только для бета-версии типов балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA.
Некоторые допустимые значения: "HTTP", "HTTPS", "HTTP2", "TCP", "SSL"
scopes
list
Массив используемых областей.
security_policy
string
добавлено в 2.8
Политика безопасности, связанная с этим обратным сервером.
service_account_contents
jsonarg
Содержание файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, его представляющей.
service_account_email
string
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
path
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
session_affinity
string
Тип аффинитета сеанса. По умолчанию — NONE.
При схеме балансировки нагрузки EXTERNAL может быть NONE, CLIENT_IP или GENERATED_COOKIE.
При протоколе UDP этот параметр не используется.
Некоторые допустимые значения: "NONE", "CLIENT_IP", "GENERATED_COOKIE"
state
string
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
timeout_sec
integer
Количество секунд ожидания обратного сервера перед признанием запроса неудачным. По умолчанию 30 секунд. Допустимый диапазон — [1, 86400].

псевдонимы: timeout_seconds

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/backendServices
  • Официальная документация: https://cloud.google.com/compute/docs/load-balancing/http/backend-service
  • для аутентификации можно установить service_account_file с помощью переменной среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents с помощью переменной среды c(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: 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.selfLink }}"
    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
строка
успех
Полный URL ресурса группы экземпляров (Instance Group) или группы сетевых конечных точек (Network Endpoint Group). В случае группы экземпляров это определяет список экземпляров, которые обслуживают трафик. Виртуальные машины-члены каждой группы экземпляров должны находиться в той же зоне, что и сама группа экземпляров. Два бэкэнда в службе бэкэндов не могут использовать один и тот же ресурс группы экземпляров.
Для групп сетевых конечных точек это определяет список конечных точек. Все конечные точки группы сетевых конечных точек должны размещаться на экземплярах, расположенных в той же зоне, что и сама группа сетевых конечных точек.
Служба бэкэндов не может содержать смесь бэкэндов группы экземпляров и группы сетевых конечных точек.
Обратите внимание, что вы должны указать ресурс группы экземпляров или группы сетевых конечных точек с помощью полного URL, а не частичного 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. Для режима RATE необходимо указать либо maxRate, либо maxRatePerInstance или maxRatePerEndpoint, в зависимости от типа группы.

maxRatePerEndpoint
строка
успех
Максимальное количество запросов в секунду (RPS), которое может обрабатывать одна сетевая конечная точка бэкэнда. Используется для расчета емкости группы. Может использоваться в любом режиме балансировки. Для режима RATE необходимо указать либо maxRate, либо maxRatePerEndpoint.

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
целое число
успех
Максимальное количество секунд, в течение которого ответ на запрос подписанного URL-адреса будет считаться актуальным, по умолчанию 1 час (3600 с). По истечении этого периода ответ будет перепроверен перед предоставлением.
При предоставлении ответов на запросы подписанных URL-адресов Cloud CDN будет внутренне вести себя так, как если бы все ответы от этого бэкэнда имели заголовок «Cache-Control: public, max-age=[TTL]», независимо от наличия существующего заголовка Cache-Control. Фактические заголовки, предоставленные в ответах, не будут изменены.

connectionDraining
сложный тип
успех
Настройки для отключения подключения.

drainingTimeoutSec
целое число
успех
Время, в течение которого экземпляр будет выводиться из работы (не будет принимать новые подключения, но продолжит работу для завершения уже начатых).

creationTimestamp
строка
успех
Дата и время создания в формате RFC3339.

description
строка
успех
Необязательное описание этого ресурса.

enableCDN
булево
успех
Если true, включите Cloud CDN для этого BackendService.

fingerprint
строка
успех
Отпечаток пальца этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки.

healthChecks
список
успех
Набор URL-адресов к ресурсам HttpHealthCheck или HttpsHealthCheck для проверки работоспособности этого BackendService. В настоящее время можно указать не более одного контроллера работоспособности, и контроллер работоспособности обязателен.
Для внутренней балансировки вместо этого необходимо указать URL к ресурсу HealthCheck.

iap
complex
success
Настройки для включения Cloud Identity Aware Proxy.

enabled
boolean
success
Включает IAP.

oauth2ClientId
string
success
Идентификатор клиента OAuth2 для IAP.

oauth2ClientSecret
string
success
Секрет клиента OAuth2 для IAP.

oauth2ClientSecretSha256
string
success
Секрет клиента OAuth2 SHA-256 для IAP.

id
integer
success
Уникальный идентификатор ресурса.

loadBalancingScheme
string
success
Указывает, будет ли служба обратного подключения использоваться с внутренней или внешней балансировкой нагрузки. Служба обратного подключения, созданная для одного типа балансировки нагрузки, не может использоваться с другим. Для глобальной службы обратного подключения должно быть `EXTERNAL` или `INTERNAL_SELF_MANAGED`. По умолчанию - `EXTERNAL`.

name
string
success
Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. В частности, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.

portName
string
success
Имя порта обратного подключения. То же имя должно присутствовать в группах экземпляров, на которые ссылается эта служба. Требуется, когда схема балансировки нагрузки - EXTERNAL.

protocol
string
success
Протокол, используемый этой службой обратного подключения для связи с серверами.
Возможные значения: HTTP, HTTPS, HTTP2, TCP и SSL. По умолчанию - HTTP. **ПРИМЕЧАНИЕ**: HTTP2 допустим только для типов бета-балансировщиков HTTP/2 и может привести к ошибкам, если используется с API GA.

securityPolicy
string
success
Политика безопасности, связанная с этой службой обратного подключения.

sessionAffinity
string
success
Тип сродства сессий для использования. По умолчанию - NONE.
Когда схема балансировки нагрузки EXTERNAL, может быть NONE, CLIENT_IP или GENERATED_COOKIE.
Когда протокол 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.9/modules/gcp_compute_backend_service_module.html

Spec-Zone.ru

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