Spec-Zone.ru › Ansible 2.10

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

Примечание

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

Для его установки используйте: 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) балансировщика. Значение 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, на который ссылается это ForwardingRule.
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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_compute_global_forwarding_rule_module.html

Spec-Zone.ru

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