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 - | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| healthy_threshold - | Значение по умолчанию: "2" | Нездоровый экземпляр будет помечен как здоровый после этого количества последовательных успехов. Значение по умолчанию — 2. | |
| http_health_check - | Вложенный ресурс-объект. | ||
| host - | Значение заголовка хоста в запросе проверки состояния HTTP. Если оставлено пустым (значение по умолчанию), будет использоваться общедоступный IP-адрес, от имени которого выполняется проверка состояния. | ||
| port - | Номер TCP-порта для запроса проверки состояния HTTP. Значение по умолчанию — 80. | ||
| port_name - | Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены и порт, и имя порта, приоритет имеет порт. | ||
| proxy_header - |
| Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. По умолчанию — NONE. | |
| request_path - | Значение по умолчанию: "/" | Путь запроса для проверки состояния HTTP. Значение по умолчанию — /. | |
| response - | Байты для сравнения с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | ||
| https_health_check - | Вложенный ресурс-объект. | ||
| host - | Значение заголовка хоста в запросе проверки состояния HTTPS. Если оставлено пустым (значение по умолчанию), будет использоваться общедоступный IP-адрес, от имени которого выполняется проверка состояния. | ||
| port - | Номер TCP-порта для запроса проверки состояния HTTPS. Значение по умолчанию — 443. | ||
| port_name - | Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены и порт, и имя порта, приоритет имеет порт. | ||
| proxy_header - |
| Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. По умолчанию — NONE. | |
| 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 строка | Строка, представляющая содержимое файла JSON учетной записи сервиса. Это не должно передаваться в виде словаря, а как строка с точным содержимым файла JSON учетной записи сервиса (корректный JSON). | ||
| service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи сервиса, если в качестве типа выбран serviceaccount. | ||
| ssl_health_check - | Вложенный ресурс-объект. | ||
| port - | Номер TCP-порта для запроса проверки состояния SSL. Значение по умолчанию — 443. | ||
| port_name - | Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены и порт, и имя порта, приоритет имеет порт. | ||
| proxy_header - |
| Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. По умолчанию — NONE. | |
| request - | Прикладные данные для отправки после установления SSL-соединения (значение по умолчанию — пустое). Если и запрос, и ответ пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII. | ||
| response - | Байты для сравнения с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | ||
| state - |
| Указывает, должен ли данный объект существовать в GCP. | |
| tcp_health_check - | Вложенный ресурс-объект. | ||
| port - | Номер TCP-порта для запроса проверки состояния TCP. Значение по умолчанию — 443. | ||
| port_name - | Имя порта, определенное в InstanceGroup#NamedPort#name. Если определены и порт, и имя порта, приоритет имеет порт. | ||
| proxy_header - |
| Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. По умолчанию — NONE. | |
| request - | Данные приложения для отправки после установления TCP-соединения (значение по умолчанию — пустое). Если и request, и response пустые, установление соединения само по себе будет указывать на работоспособность. Данные запроса могут быть только ASCII. | ||
| response - | Байты для сопоставления с началом данных ответа. Если оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | ||
| timeout_sec - | Значение по умолчанию: "5" | Время ожидания в секундах до объявления отказа. Значение по умолчанию составляет 5 секунд. Для timeoutSec не должно быть значения больше, чем checkIntervalSec. Псевдонимы: timeout_seconds | |
| type - |
| Указывает тип healthCheck: TCP, SSL, HTTP или HTTPS. Если не указан, по умолчанию используется TCP. Должен быть указан ровно один из полей, специфичных для протокола, который должен соответствовать полю type. | |
| 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 с помощью переменной среды
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 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 целое число | success | Как часто (в секундах) отправлять проверку работоспособности. Значение по умолчанию — 5 секунд. | |
| creationTimestamp строка | success | Маркер времени создания в формате RFC3339. | |
| description строка | success | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| healthyThreshold целое число | success | Неустойчивый экземпляр будет помечен как устойчивый после этого количества последовательных успехов. Значение по умолчанию — 2. | |
| httpHealthCheck сложный | success | Вложенный ресурс-объект. | |
| host строка | success | Значение заголовка host в запросе проверки работоспособности HTTP. Если поле оставлено пустым (значение по умолчанию), будет использоваться публичный IP-адрес, от имени которого выполняется проверка работоспособности. | |
| port целое число | success | Номер TCP-порта для запроса проверки работоспособности HTTP. Значение по умолчанию — 80. | |
| portName строка | success | Имя порта, определенное в InstanceGroup#NamedPort#name. Если заданы как порт, так и port_name, приоритет имеет порт. | |
| proxyHeader строка | success | Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. Значение по умолчанию — NONE. | |
| requestPath строка | success | Путь запроса проверки работоспособности HTTP. Значение по умолчанию — /. | |
| response строка | success | Байты, которые нужно сопоставить с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | |
| httpsHealthCheck сложный | success | Вложенный ресурс-объект. | |
| host строка | success | Значение заголовка host в запросе проверки работоспособности HTTPS. Если поле оставлено пустым (значение по умолчанию), будет использоваться публичный IP-адрес, от имени которого выполняется проверка работоспособности. | |
| port целое число | success | Номер TCP-порта для запроса проверки работоспособности HTTPS. Значение по умолчанию — 443. | |
| portName строка | success | Имя порта, определенное в InstanceGroup#NamedPort#name. Если заданы как порт, так и port_name, приоритет имеет порт. | |
| proxyHeader строка | success | Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. Значение по умолчанию — NONE. | |
| requestPath строка | success | Путь запроса проверки работоспособности HTTPS. Значение по умолчанию — /. | |
| response строка | success | Байты, которые нужно сопоставить с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | |
| id целое число | success | Уникальный идентификатор ресурса. Этот идентификатор задается сервером. | |
| name строка | success | Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть длина должна составлять от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | |
| sslHealthCheck сложный | success | Вложенный ресурс-объект. | |
| port целое число | success | Номер TCP-порта для запроса проверки работоспособности SSL. Значение по умолчанию — 443. | |
| portName строка | success | Имя порта, определенное в InstanceGroup#NamedPort#name. Если заданы как порт, так и port_name, приоритет имеет порт. | |
| proxyHeader строка | success | Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. Значение по умолчанию — NONE. | |
| request строка | success | Прикладные данные, отправляемые после установления соединения SSL (значение по умолчанию — пустое). Если и request, и response пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII. | |
| response строка | success | Байты, которые нужно сопоставить с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | |
| tcpHealthCheck сложный | success | Вложенный ресурс-объект. | |
| port целое число | success | Номер TCP-порта для запроса проверки работоспособности TCP. Значение по умолчанию — 443. | |
| portName строка | success | Имя порта, определенное в InstanceGroup#NamedPort#name. Если заданы как порт, так и port_name, приоритет имеет порт. | |
| proxyHeader строка | success | Указывает тип заголовка прокси, добавляемого перед отправкой данных в бэкенд, либо NONE, либо PROXY_V1. Значение по умолчанию — NONE. | |
| request строка | success | Прикладные данные, отправляемые после установления TCP-соединения (значение по умолчанию — пустое). Если и request, и response пусты, установление соединения само по себе укажет на работоспособность. Данные запроса могут быть только ASCII. | |
| response строка | success | Байты, которые нужно сопоставить с началом данных ответа. Если поле оставлено пустым (значение по умолчанию), любой ответ укажет на работоспособность. Данные ответа могут быть только ASCII. | |
| timeoutSec целое число | success | Время ожидания (в секундах) перед признанием ошибки. Значение по умолчанию — 5 секунд. Значение timeoutSec не может быть больше, чем checkIntervalSec. | |
| type строка | success | Указывает тип проверки работоспособности: TCP, SSL, HTTP или HTTPS. Если не указано, значение по умолчанию — TCP. Должен быть указан ровно один из полей проверки работоспособности, соответствующий типу. | |
| unhealthyThreshold целое число | success | Устойчивый экземпляр будет помечен как неустойчивый после этого количества последовательных неудач. Значение по умолчанию — 2. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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_health_check_module.html