gcp_compute_health_check – Создаёт проверку состояния GCP
Новая версия с 2.6.
Описание
- Проверки состояния определяют, доступны ли экземпляры и могут ли они выполнять работу.
- Они являются важной частью комплексной конфигурации балансировки нагрузки, так как позволяют отслеживать экземпляры за балансировщиками нагрузки.
- Проверки состояния опрашивают экземпляры с заданным интервалом. Экземпляры, которые не отвечают успешно на определённое количество запросов подряд, отмечаются как неисправные. Новые подключения к неисправным экземплярам не отправляются, хотя существующие подключения будут продолжены. Проверка состояния продолжит опрашивать неисправные экземпляры. Если экземпляр впоследствии ответит успешно на определённое количество последовательных запросов, он снова отмечается как исправный и может принимать новые подключения.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| 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 строка |
| Указывает, должен ли данный объект существовать в 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