google.cloud.gcp_compute_network_endpoint_group 模块 – 创建 GCP 网络端点组
注意
此模块是 google.cloud 集合 (版本 1.4.1) 的一部分。
如果您使用的是 ansible
软件包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:google.cloud.gcp_compute_network_endpoint_group
。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将在 Ansible 12 中移除。该集合存在 未解决的健全性测试失败。请参阅 讨论主题 获取更多信息。
概要
网络端点组 (NEG) 是区域资源,表示单个子网内 GCP 资源的 IP 地址和端口组合的集合。每个 IP 地址和端口组合都称为网络端点。
网络端点组可用作 HTTP(S)、TCP 代理和 SSL 代理负载均衡器中后端服务的后台。您不能将 NEG 用作内部负载均衡器的后台。由于 NEG 后端允许您指定 IP 地址和端口,因此您可以以细粒度的方式在 VM 实例中运行的应用程序或容器之间分配流量。
重新创建另一个资源正在使用的网络端点组将返回 `resourceInUseByAnotherResource` 错误。使用 `lifecycle.create_before_destroy` 可避免此类错误。
要求
执行此模块的主机需要以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭据类型。 选项
|
|
如果网络端点中未指定端口号,则使用默认端口。 |
|
此资源的可选描述。创建资源时提供此属性。 |
|
指定您在哪个 Ansible 环境中运行此模块。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的用户代理字符串。 |
|
资源的名称;创建资源时由客户端提供。名称必须为 1-63 个字符长,并符合 RFC1035。具体来说,名称必须为 1-63 个字符长,并与正则表达式 `[a-z]([-a-z0-9]*[a-z0-9])?` 匹配,这意味着第一个字符必须是小写字母,所有后续字符必须是连字符、小写字母或数字,最后一个字符不能是连字符。 |
|
NEG 中所有网络端点所属的网络。 如果未指定,则使用“default”项目网络。 此字段表示 GCP 中指向网络资源的链接。它可以通过两种方式指定。首先,您可以放置一个键为“selfLink”且值为资源 selfLink 的字典。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_network 任务中,然后将此 network 字段设置为“{{ name-of-resource }}” |
|
此网络端点组中网络端点的类型。 一些有效的选项包括:“GCE_VM_IP_PORT” 默认值: |
|
要使用的 Google Cloud Platform 项目。 |
|
要使用的作用域数组 |
|
服务帐户 JSON 文件的内容,可以是字典或表示它的 JSON 字符串。 |
|
如果选择了 machineaccount 并且用户不想使用默认电子邮件,则为可选的服务帐户电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。 |
|
给定对象是否应该存在于 GCP 中 选项
|
|
NEG 中所有网络端点所属的可选子网。 此字段表示 GCP 中指向子网络资源的链接。它可以通过两种方式指定。首先,您可以使用键“selfLink”和资源 selfLink 值的字典。或者,您可以将 `register: name-of-resource` 添加到 gcp_compute_subnetwork 任务中,然后将此子网络字段设置为“{{ name-of-resource }}” |
|
网络端点组所在的区域。 |
注释
注意
API 参考:https://cloud.google.com/compute/docs/reference/rest/beta/networkEndpointGroups
对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_FILE
环境变量设置 service_account_file。对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_CONTENTS
环境变量设置 service_account_contents。对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_EMAIL
环境变量设置 service_account_email。对于身份验证,您可以使用
GCP_ACCESS_TOKEN
环境变量设置 access_token。对于身份验证,您可以使用
GCP_AUTH_KIND
环境变量设置 auth_kind。对于身份验证,您可以使用
GCP_SCOPES
环境变量设置 scopes。只有在 playbook 值未设置的情况下,才会使用环境变量值。
service_account_email 和 service_account_file 选项是互斥的。
示例
- name: create a network
google.cloud.gcp_compute_network:
name: "{{ resource_name }}"
auto_create_subnetworks: 'false'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a subnetwork
google.cloud.gcp_compute_subnetwork:
name: "{{ resource_name }}"
ip_cidr_range: 10.0.0.0/16
region: us-central1
network: "{{ network }}"
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: subnetwork
- name: create a network endpoint group
google.cloud.gcp_compute_network_endpoint_group:
name: test_object
network: "{{ network }}"
subnetwork: "{{ subnetwork }}"
default_port: 90
zone: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
返回值
常见的返回值已记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
如果网络端点中未指定端口号,则使用默认端口。 返回:成功 |
|
此资源的可选描述。创建资源时提供此属性。 返回:成功 |
|
资源的唯一标识符。 返回:成功 |
|
资源的名称;创建资源时由客户端提供。名称必须为 1-63 个字符长,并符合 RFC1035。具体来说,名称必须为 1-63 个字符长,并与正则表达式 `[a-z]([-a-z0-9]*[a-z0-9])?` 匹配,这意味着第一个字符必须是小写字母,所有后续字符必须是连字符、小写字母或数字,最后一个字符不能是连字符。 返回:成功 |
|
NEG 中所有网络端点所属的网络。 如果未指定,则使用“default”项目网络。 返回:成功 |
|
此网络端点组中网络端点的类型。 返回:成功 |
|
网络端点组中的网络端点数。 返回:成功 |
|
NEG 中所有网络端点所属的可选子网。 返回:成功 |
|
网络端点组所在的区域。 返回:成功 |