Spec-Zone.ru › Ansible 2.9

gcp_compute_health_check – Создаёт проверку состояния GCP

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

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

Описание

  • Проверки состояния определяют, доступны ли экземпляры и могут ли они выполнять работу.
  • Они являются важной частью комплексной конфигурации балансировки нагрузки, так как позволяют отслеживать экземпляры за балансировщиками нагрузки.
  • Проверки состояния опрашивают экземпляры с заданным интервалом. Экземпляры, которые не отвечают успешно на определённое количество запросов подряд, отмечаются как неисправные. Новые подключения к неисправным экземплярам не отправляются, хотя существующие подключения будут продолжены. Проверка состояния продолжит опрашивать неисправные экземпляры. Если экземпляр впоследствии ответит успешно на определённое количество последовательных запросов, он снова отмечается как исправный и может принимать новые подключения.

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
check_interval_sec
целое число
Значение по умолчанию:
"5"
Периодичность (в секундах) отправки проверки состояния. Значение по умолчанию — 5 секунд.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
строка
Указывает, в какой среде Ansible выполняется этот модуль.
Это поле не должно устанавливаться, если вы не знаете, что делаете.
Это поле изменяет только строку User Agent для всех запросов к API.
healthy_threshold
целое число
Значение по умолчанию:
"2"
Нездоровый экземпляр будет помечен как здоровый после такого количества последовательных успехов. Значение по умолчанию — 2.
http_health_check
словарь
Вложенный ресурс.
host
строка
Значение заголовка host в запросе проверки состояния HTTP.
Если поле оставлено пустым (значение по умолчанию), будет использован публичный IP-адрес, от имени которого выполняется проверка состояния.
port
целое число
Номер TCP-порта для запроса проверки состояния HTTP.
Значение по умолчанию — 80.
port_name
строка
Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены оба поля — port и port_name, имеет приоритет port.
port_specification
строка
добавлено в 2.9
Определяет, как выбирается порт для проверки состояния, может принимать следующие значения: * `USE_FIXED_PORT`: используется номер порта в `port` для проверки состояния.
* `USE_NAMED_PORT`: используется `portName` для проверки состояния.
* `USE_SERVING_PORT`: для NetworkEndpointGroup используется порт, указанный для каждого сетевого конечного узла, для проверки состояния. Для других бэкендов используется порт или имя порта, указанные в Backend Service для проверки состояния.
Если не указано, проверка состояния HTTP следует поведению, указанному в полях `port` и `portName`.
Некоторые допустимые значения включают: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"
proxy_header
строка
Значение по умолчанию:
"NONE"
Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, может быть NONE или PROXY_V1. По умолчанию — NONE.
Некоторые допустимые значения включают: "NONE", "PROXY_V1"
request_path
строка
Значение по умолчанию:
"/"
Путь запроса проверки состояния HTTP.
Значение по умолчанию — /.
response
строка
Байты, которые нужно сопоставить с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.
https_health_check
словарь
Вложенный ресурс.
host
строка
Значение заголовка host в запросе проверки состояния HTTPS.
Если поле оставлено пустым (значение по умолчанию), будет использован публичный IP-адрес, от имени которого выполняется проверка состояния.
port
целое число
Номер TCP-порта для запроса проверки состояния HTTPS.
Значение по умолчанию — 443.
port_name
строка
Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены оба поля — port и port_name, имеет приоритет port.
port_specification
строка
добавлено в 2.9
Определяет, как выбирается порт для проверки состояния, может принимать следующие значения: * `USE_FIXED_PORT`: используется номер порта в `port` для проверки состояния.
* `USE_NAMED_PORT`: используется `portName` для проверки состояния.
* `USE_SERVING_PORT`: для NetworkEndpointGroup используется порт, указанный для каждого сетевого конечного узла, для проверки состояния. Для других бэкендов используется порт или имя порта, указанные в Backend Service для проверки состояния.
Если не указано, проверка состояния HTTPS следует поведению, указанному в полях `port` и `portName`.
Некоторые допустимые значения включают: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"
proxy_header
строка
Значение по умолчанию:
"NONE"
Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, может быть NONE или PROXY_V1. По умолчанию — NONE.
Некоторые допустимые значения включают: "NONE", "PROXY_V1"
request_path
строка
Значение по умолчанию:
"/"
Путь запроса проверки состояния HTTPS.
Значение по умолчанию — /.
response
строка
Байты, которые нужно сопоставить с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.
name
строка / обязательно
Имя ресурса. Указывается клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. То есть, длина должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
project
строка
Используемый проект Google Cloud Platform.
scopes
список
Массив используемых областей.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, которая его представляет.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если выбран тип serviceaccount.
ssl_health_check
словарь
Вложенный ресурс.
port
целое число
Номер TCP-порта для запроса проверки состояния SSL.
Значение по умолчанию — 443.
port_name
строка
Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены оба поля — port и port_name, имеет приоритет port.
port_specification
строка
добавлено в 2.9
Указывает, как порт выбирается для проверки работоспособности, может принимать одно из следующих значений: * `USE_FIXED_PORT`: Номер порта в `port` используется для проверки работоспособности.
* `USE_NAMED_PORT`: Для проверки работоспособности используется `portName`.
* `USE_SERVING_PORT`: Для NetworkEndpointGroup порт, указанный для каждого сетевого конечного узла, используется для проверки работоспособности. Для других бэкендов используется порт или имя порта, указанные в службе бэкенда для проверки работоспособности.
Если не указано, проверка работоспособности SSL следует поведению, указанному в полях `port` и `portName`.
Некоторые допустимые значения включают: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"
proxy_header
строка
По умолчанию:
"NONE"
Указывает тип заголовка прокси, который нужно добавить перед отправкой данных на бэкенд, либо NONE, либо PROXY_V1. По умолчанию — NONE.
Некоторые допустимые значения включают: "NONE", "PROXY_V1"
request
строка
Данные приложения для отправки после установления SSL-соединения (значение по умолчанию — пустое). Если и запрос, и ответ пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII.
response
строка
Байты для сопоставления с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.
state
строка
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
tcp_health_check
словарь
Вложенный ресурс объекта.
port
целое число
Номер TCP-порта для запроса проверки работоспособности TCP.
Значение по умолчанию — 443.
port_name
строка
Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены оба port и port_name, приоритет имеет port.
port_specification
строка
добавлено в 2.9
Указывает, как порт выбирается для проверки работоспособности, может принимать одно из следующих значений: * `USE_FIXED_PORT`: Номер порта в `port` используется для проверки работоспособности.
* `USE_NAMED_PORT`: Для проверки работоспособности используется `portName`.
* `USE_SERVING_PORT`: Для NetworkEndpointGroup порт, указанный для каждого сетевого конечного узла, используется для проверки работоспособности. Для других бэкендов используется порт или имя порта, указанные в службе бэкенда для проверки работоспособности.
Если не указано, проверка работоспособности TCP следует поведению, указанному в полях `port` и `portName`.
Некоторые допустимые значения включают: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"
proxy_header
строка
По умолчанию:
"NONE"
Указывает тип заголовка прокси, который нужно добавить перед отправкой данных на бэкенд, либо NONE, либо PROXY_V1. По умолчанию — NONE.
Некоторые допустимые значения включают: "NONE", "PROXY_V1"
request
строка
Данные приложения для отправки после установления TCP-соединения (значение по умолчанию — пустое). Если и запрос, и ответ пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII.
response
строка
Байты для сопоставления с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.
timeout_sec
целое число
По умолчанию:
"5"
Время ожидания (в секундах) перед объявлением ошибки.
Значение по умолчанию — 5 секунд. timeoutSec не может иметь большее значение, чем checkIntervalSec.

псевдонимы: timeout_seconds
type
строка
Указывает тип проверки работоспособности, TCP, SSL, HTTP или HTTPS. Если не указано, по умолчанию — TCP. Должен быть указан ровно один из полей проверки работоспособности, соответствующий типу.
Некоторые допустимые значения включают: "TCP", "SSL", "HTTP", "HTTPS"
unhealthy_threshold
целое число
По умолчанию:
"2"
Здоровый до сих пор экземпляр будет помечен как неисправный после этого количества последовательных сбоев. Значение по умолчанию — 2.

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks
  • Официальная документация: https://cloud.google.com/load-balancing/docs/health-checks
  • для аутентификации можно установить 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 health check
  gcp_compute_health_check:
    name: test_object
    type: TCP
    tcp_health_check:
      port_name: service-health
      request: ping
      response: pong
    healthy_threshold: 10
    timeout_sec: 2
    unhealthy_threshold: 5
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:

Ключ Возвращаемое значение Описание
checkIntervalSec
целое число
успех
Частота (в секундах) отправки проверки состояния. Значение по умолчанию — 5 секунд.

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

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

healthyThreshold
целое число
успех
Нездоровый экземпляр будет помечен как здоровый после такого количества последовательных успехов. Значение по умолчанию — 2.

httpHealthCheck
сложный
успех
Вложенный ресурс.

host
строка
успех
Значение заголовка хоста в запросе проверки состояния HTTP.
Если оставлено пустым (значение по умолчанию), будет использоваться общедоступный IP-адрес, от имени которого выполняется эта проверка состояния.

port
целое число
успех
Номер TCP-порта для запроса проверки состояния HTTP.
Значение по умолчанию — 80.

portName
строка
успех
Имя порта, как определено в InstanceGroup#NamedPort#name. Если определены как порт, так и имя порта, приоритет отдаётся порту.

portSpecification
строка
успех
Указывает, как выбирается порт для проверки состояния. Может принимать следующие значения: * `USE_FIXED_PORT`: Используется номер порта в поле `port` для проверки состояния.
* `USE_NAMED_PORT`: Используется `portName` для проверки состояния.
* `USE_SERVING_PORT`: Для NetworkEndpointGroup используется порт, указанный для каждого сетевого конечного узла, для проверки состояния. Для других бэкендов используется порт или имя порта, указанные в службе бэкенда.
Если не указано, проверка состояния HTTP следует поведению, заданному полями `port` и `portName`.

proxyHeader
строка
успех
Указывает тип заголовка прокси, добавляемого перед отправкой данных бэкенду, — NONE или PROXY_V1. По умолчанию — NONE.

requestPath
строка
успех
Путь запроса проверки состояния HTTP.
Значение по умолчанию — /.

response
строка
успех
Байты для сопоставления с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.

httpsHealthCheck
сложный
успех
Вложенный ресурс.

host
строка
успех
Значение заголовка хоста в запросе проверки состояния HTTPS.
Если оставлено пустым (значение по умолчанию), будет использоваться общедоступный IP-адрес, от имени которого выполняется эта проверка состояния.

port
целое число
успех
Номер TCP-порта для запроса проверки состояния HTTPS.
Значение по умолчанию — 443.

portName
строка
успех
Имя порта, как определено в InstanceGroup#NamedPort#name. Если определены как порт, так и имя порта, приоритет отдаётся порту.

portSpecification
строка
успех
Указывает, как выбирается порт для проверки состояния. Может принимать следующие значения: * `USE_FIXED_PORT`: Используется номер порта в поле `port` для проверки состояния.
* `USE_NAMED_PORT`: Используется `portName` для проверки состояния.
* `USE_SERVING_PORT`: Для NetworkEndpointGroup используется порт, указанный для каждого сетевого конечного узла, для проверки состояния. Для других бэкендов используется порт или имя порта, указанные в службе бэкенда.
Если не указано, проверка состояния HTTPS следует поведению, заданному полями `port` и `portName`.

proxyHeader
строка
успех
Указывает тип заголовка прокси, добавляемого перед отправкой данных бэкенду, — NONE или PROXY_V1. По умолчанию — NONE.

requestPath
строка
успех
Путь запроса проверки состояния HTTPS.
Значение по умолчанию — /.

response
строка
успех
Байты для сопоставления с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.

id
целое число
успех
Уникальный идентификатор ресурса. Этот идентификатор определяется сервером.

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

sslHealthCheck
сложный
успех
Вложенный ресурс.

port
целое число
успех
Номер TCP-порта для запроса проверки состояния SSL.
Значение по умолчанию — 443.

portName
строка
успех
Имя порта, как определено в InstanceGroup#NamedPort#name. Если определены как порт, так и имя порта, приоритет отдаётся порту.

portSpecification
строка
успех
Указывает, как выбирается порт для проверки состояния. Может принимать следующие значения: * `USE_FIXED_PORT`: Используется номер порта в поле `port` для проверки состояния.
* `USE_NAMED_PORT`: Используется `portName` для проверки состояния.
* `USE_SERVING_PORT`: Для NetworkEndpointGroup используется порт, указанный для каждого сетевого конечного узла, для проверки состояния. Для других бэкендов используется порт или имя порта, указанные в службе бэкенда.
Если не указано, проверка состояния SSL следует поведению, заданному полями `port` и `portName`.

proxyHeader
строка
успех
Указывает тип заголовка прокси, добавляемого перед отправкой данных бэкенду, — NONE или PROXY_V1. По умолчанию — NONE.

request
строка
успех
Прикладные данные, отправляемые после установления соединения SSL (значение по умолчанию — пустое). Если и запрос, и ответ пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII.

response
строка
успех
Байты для сопоставления с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.

tcpHealthCheck
сложный
успех
Вложенный ресурс.

port
целое число
успех
Номер TCP-порта для запроса проверки состояния TCP.
Значение по умолчанию — 443.

portName
строка
успех
Имя порта, как определено в InstanceGroup#NamedPort#name. Если определены как порт, так и имя порта, приоритет отдаётся порту.

portSpecification
string
success
Указывает, как порт выбирается для проверки работоспособности. Может принимать одно из следующих значений: * `USE_FIXED_PORT`: Номер порта в поле `port` используется для проверки работоспособности.
* `USE_NAMED_PORT`: Для проверки работоспособности используется `portName`.
* `USE_SERVING_PORT`: Для NetworkEndpointGroup используется порт, указанный для каждого сетевого конечного узла, для проверки работоспособности. Для других бэкэндов используется порт или именованный порт, указанный в службе бэкэнда для проверки работоспособности.
Если не указано, проверка работоспособности TCP следует поведению, указанному в полях `port` и `portName`.

proxyHeader
string
success
Указывает тип заголовка прокси, который необходимо добавить перед отправкой данных бэкэнду, либо NONE, либо PROXY_V1. По умолчанию используется NONE.

request
string
success
Данные приложения для отправки после установления TCP-соединения (значение по умолчанию — пустое). Если и запрос, и ответ пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII.

response
string
success
Байты для сопоставления с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII.

timeoutSec
integer
success
Время ожидания (в секундах) перед объявлением ошибки.
Значение по умолчанию составляет 5 секунд. Недопустимо, чтобы значение timeoutSec было больше, чем checkIntervalSec.

type
string
success
Указывает тип проверки работоспособности: TCP, SSL, HTTP или HTTPS. Если не указано, по умолчанию используется TCP. Должен быть указан ровно один из полей проверки работоспособности, соответствующих протоколу, который должен совпадать с полем type.

unhealthyThreshold
integer
success
Состояние до сих пор работоспособного экземпляра будет помечено как неработоспособное после такого количества последовательных сбоев. Значение по умолчанию равно 2.



Статус

  • Данный модуль не гарантирует обратной совместимости. [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_health_check_module.html

Spec-Zone.ru

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