Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_global_forwarding_rule – Создаёт GCP GlobalForwardingRule

Примечание

Этот плагин входит в коллекцию google.cloud (версия 1.0.2).

Для его установки используйте: ansible-galaxy collection install google.cloud

Чтобы использовать его в playbook, укажите: google.cloud.gcp_compute_global_forwarding_rule

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

Описание

  • Представляет ресурс GlobalForwardingRule. Правила глобального переадресации используются для перенаправления трафика на правильный балансировщик нагрузки для балансировки HTTP-нагрузки. Правила глобального переадресации могут использоваться только для балансировки HTTP-нагрузки.
  • Дополнительную информацию можно найти на странице https://cloud.google.com/compute/docs/load-balancing/http/ .

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
строка
Указывает, в какой среде Ansible вы запускаете этот модуль.
Не следует устанавливать, если вы не знаете, что делаете.
Это изменяет только строку User Agent для любых запросов к API.
ip_address
строка
IP-адрес, на котором это правило переадресации обслуживает от имени.
Адреса ограничены в зависимости от схемы балансировки нагрузки правила переадресации (EXTERNAL или INTERNAL) и области (глобальной или региональной).
Когда схема балансировки EXTERNAL, для глобальных правил переадресации адрес должен быть глобальным IP-адресом, а для региональных правил переадресации адрес должен находиться в том же регионе, что и правило переадресации. Если это поле пустое, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило переадресации поддерживает только IPv4. Глобальное правило переадресации поддерживает IPv4 или IPv6.
Когда схема балансировки INTERNAL, это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила переадресации. По умолчанию, если это поле пустое, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенной для этого правила переадресации.
Адрес можно указать либо прямым IP-адресом, либо URL-ссылкой на существующий ресурс Address. Следующие примеры являются допустимыми: * 100.1.2.3 * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .
ip_protocol
строка
IP-протокол, на который распространяется это правило. Когда схема балансировки INTERNAL_SELF_MANAGED, допустим только TCP.
Некоторые допустимые значения: "TCP", "UDP", "ESP", "AH", "SCTP", "ICMP"
ip_version
строка
Версия IP, которая будет использоваться этим глобальным правилом переадресации.
Некоторые допустимые значения: "IPV4", "IPV6"
load_balancing_scheme
строка
По умолчанию:
"EXTERNAL"
Указывает, для чего будет использоваться GlobalForwardingRule.
Значение INTERNAL_SELF_MANAGED означает, что это будет использоваться для внутреннего глобального HTTP(S) LB. Значение EXTERNAL означает, что это будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, внешняя TCP/UDP LB, SSL-прокси) ПРИМЕЧАНИЕ: В настоящее время глобальные правила переадресации нельзя использовать для внутренней балансировки нагрузки.
Некоторые допустимые значения: "EXTERNAL", "INTERNAL_SELF_MANAGED"
metadata_filters
список / элементы=словарь
Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации до ограниченного набора клиентов, совместимых с xDS. В своих запросах xDS к Loadbalancer клиенты xDS предоставляют метаданные узла. Если совпадение произошло, соответствующая конфигурация маршрутизации становится доступной для этих прокси.
Для каждого metadataFilter в этом списке, если его filterMatchCriteria имеет значение MATCH_ANY, по крайней мере одно из filterLabels должно совпадать с соответствующей меткой, предоставленной в метаданных. Если его filterMatchCriteria имеет значение MATCH_ALL, то все его filterLabels должны совпадать с соответствующими метками в предоставленных метаданных.
metadataFilters, указанные здесь, могут быть переопределены теми, которые указаны в UrlMap, на который ссылается это правило переадресации.
metadataFilters применяются только к Loadbalancer, у которых loadBalancingScheme установлено в INTERNAL_SELF_MANAGED.
filter_labels
список / элементы=словарь / обязательно
Список пар значений меток, которые должны совпадать с метками в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 записей.
name
строка / обязательно
Имя метки метаданных. Длина должна быть от 1 до 1024 символов включительно.
value
строка / обязательно
Значение, с которым должна совпадать метка. Значение имеет максимальную длину 1024 символа.
filter_match_criteria
строка / обязательно
Указывает, как отдельные соответствия filterLabel в списке filterLabels вносят вклад в общее соответствие metadataFilter.
MATCH_ANY - По крайней мере одна из filterLabels должна иметь соответствующую метку в предоставленных метаданных.
MATCH_ALL - Все filterLabels должны иметь соответствующие метки в предоставленных метаданных.
Некоторые допустимые значения: "MATCH_ANY", "MATCH_ALL"
name
строка / обязательно
Имя ресурса; предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
network
словарь
Это поле не используется для внешней балансировки нагрузки.
Для балансировки нагрузки INTERNAL_SELF_MANAGED это поле определяет сеть, к которой должен принадлежать IP-адрес балансировки нагрузки для этого глобального правила переадресации. Если это поле не указано, будет использоваться сеть по умолчанию.
Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле network в "{{ name-of-resource }}"
port_range
строка
Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
Применимо только тогда, когда IPProtocol равен TCP, UDP или SCTP, только пакеты, адресованные портам в указанном диапазоне, будут переадресованы целевому объекту.
Правила переадресации с одинаковой парой [IPAddress, IPProtocol] должны иметь непересекающиеся диапазоны портов.
Некоторые типы целевого объекта переадресации имеют ограничения на допустимые порты: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .
project
строка
Проект Google Cloud Platform, который использовать.
scopes
список / элементы=строка
Массив используемых областей.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в словаре, либо в виде JSON-строки, которая его представляет.
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если как тип выбран serviceaccount.
state
строка
    Варианты:
  • present ←
  • absent
Требуется ли существование данного объекта в GCP
target
строка / обязательно
URL целевого ресурса, который должен получить соответствующий трафик.
Переадресовываемый трафик должен быть подходящего типа для целевого объекта.
Для балансировки нагрузки INTERNAL_SELF_MANAGED допустимы только целевые объекты HTTP и HTTPS.

Примеры

- name: create a global address
  google.cloud.gcp_compute_global_address:
    name: globaladdress-globalforwardingrule
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: globaladdress

- name: create a instance group
  google.cloud.gcp_compute_instance_group:
    name: instancegroup-globalforwardingrule
    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
  google.cloud.gcp_compute_http_health_check:
    name: httphealthcheck-globalforwardingrule
    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
  google.cloud.gcp_compute_backend_service:
    name: backendservice-globalforwardingrule
    backends:
    - group: "{{ instancegroup.selfLink }}"
    health_checks:
    - "{{ healthcheck.selfLink }}"
    enable_cdn: 'true'
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: backendservice

- name: create a URL map
  google.cloud.gcp_compute_url_map:
    name: urlmap-globalforwardingrule
    default_service: "{{ backendservice }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: urlmap

- name: create a target HTTP proxy
  google.cloud.gcp_compute_target_http_proxy:
    name: targethttpproxy-globalforwardingrule
    url_map: "{{ urlmap }}"
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: httpproxy

- name: create a global forwarding rule
  google.cloud.gcp_compute_global_forwarding_rule:
    name: test_object
    ip_address: "{{ globaladdress.address }}"
    ip_protocol: TCP
    port_range: 80-80
    target: "{{ httpproxy.selfLink }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Возвращаемые значения

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

Ключ Возвращено Описание
creationTimestamp
string
success
Маркер времени создания в формате RFC3339.

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

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

IPAddress
string
success
IP-адрес, на котором данное правило переадресации обслуживает запросы.
Адреса ограничены в соответствии со схемой балансировки нагрузки (EXTERNAL или INTERNAL) и областью (глобальная или региональная).
Если схема балансировки — EXTERNAL, для глобальных правил переадресации адрес должен быть глобальным IP-адресом, а для региональных правил переадресации — находиться в том же регионе, что и правило переадресации. Если это поле пустое, будет назначен временный IPv4-адрес из той же области (глобальная или региональная). Региональное правило переадресации поддерживает только IPv4. Глобальное правило переадресации поддерживает IPv4 или IPv6.
Если схема балансировки — INTERNAL, это может быть только IP-адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила переадресации. По умолчанию, если это поле пустое, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенных для данного правила переадресации.
Адрес можно указать либо в виде литерального IP-адреса, либо в виде URL-ссылки на существующий ресурс Address. Следующие примеры допустимы: * 100.1.2.3 * https://www.googleapis.com/compute/v1/projects/project/regions/region/addresses/address * projects/project/regions/region/addresses/address * regions/region/addresses/address * global/addresses/address * address .

IPProtocol
string
success
IP-протокол, к которому относится это правило. Когда схема балансировки — INTERNAL_SELF_MANAGED, допустим только TCP.

ipVersion
string
success
Версия IP, которая будет использоваться этим глобальным правилом переадресации.

loadBalancingScheme
string
success
Указывает, для чего будет использоваться GlobalForwardingRule.
Значение INTERNAL_SELF_MANAGED означает, что это будет использоваться для внутренней глобальной HTTP(S) LB. Значение EXTERNAL означает, что это будет использоваться для внешнего глобального балансирования нагрузки (HTTP(S) LB, внешнего TCP/UDP LB, SSL Proxy) ПРИМЕЧАНИЕ: В настоящее время глобальные правила переадресации не могут использоваться для внутренней балансировки нагрузки.

metadataFilters
complex
success
Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации для ограниченного набора клиентов, совместимых с xDS. В своих запросах xDS к Loadbalancer клиенты xDS представляют метаданные узла. Если произойдет совпадение, соответствующая конфигурация маршрутизации будет доступна этим прокси.
Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлено в MATCH_ANY, хотя бы одна из filterLabels должна совпадать с соответствующей меткой, предоставленной в метаданных. Если его filterMatchCriteria установлено в MATCH_ALL, все его filterLabels должны совпадать с соответствующими метками в предоставленных метаданных.
metadataFilters, указанные здесь, могут быть переопределены теми, что указаны в UrlMap, на который ссылается это правило переадресации.
metadataFilters применяются только к Loadbalancer, у которых loadBalancingScheme установлено в INTERNAL_SELF_MANAGED.

filterLabels
complex
success
Список пар значений меток, которые должны совпадать с метками в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 элементов.

name
string
success
Имя метки метаданных. Длина должна быть от 1 до 1024 символов включительно.

value
string
success
Значение, с которым должна совпасть метка. Максимальная длина значения — 1024 символа.

filterMatchCriteria
string
success
Указывает, как индивидуальные соответствия filterLabel в списке filterLabels влияют на общее соответствие metadataFilter.
MATCH_ANY — хотя бы одна из filterLabels должна иметь соответствующую метку в предоставленных метаданных.
MATCH_ALL — все filterLabels должны иметь соответствующие метки в предоставленных метаданных.

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

network
dictionary
success
Это поле не используется для внешнего балансирования нагрузки.
Для балансировки нагрузки INTERNAL_SELF_MANAGED это поле идентифицирует сеть, к которой должен принадлежать IP-адрес сбалансированной нагрузки для этого глобального правила переадресации. Если это поле не указано, будет использоваться сеть по умолчанию.

portRange
string
success
Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
Применимо только когда IPProtocol равен TCP, UDP или SCTP, только пакеты, адресованные портам в указанном диапазоне, будут переадресованы целевому узлу.
Правила переадресации с одинаковой парой [IPAddress, IPProtocol] должны иметь непересекающиеся диапазоны портов.
Некоторые типы целевых узлов переадресации имеют ограничения на допустимые порты: * TargetHttpProxy: 80, 8080 * TargetHttpsProxy: 443 * TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222 * TargetVpnGateway: 500, 4500 .

target
string
success
URL целевого ресурса для получения соответствующего трафика.
Переадресованный трафик должен быть подходящего типа для целевого объекта.
Для балансировки нагрузки INTERNAL_SELF_MANAGED допустимы только HTTP и HTTPS цели.



Авторы

  • Google Inc. (@googlecloudplatform)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_global_forwarding_rule_module.html

Spec-Zone.ru

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