On this page
community.google.gce_lb – create/destroy GCE load-balancer resources
Note
This plugin is part of the community.google collection (version 1.0.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.google
.
To use it in a playbook, specify: community.google.gce_lb
.
Synopsis
- This module can create and destroy Google Compute Engine
loadbalancer
andhttphealthcheck
resources. The primary LB resource is theload_balancer
resource and the health check parameters are all prefixed with httphealthcheck. The full documentation for Google Compute Engine load balancing is at https://developers.google.com/compute/docs/load-balancing/. However, the ansible module simplifies the configuration by following the libcloud model. Full install/configuration instructions for the gce* modules can be found in the comments of ansible/test/gce_tests.py.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
- apache-libcloud >= 0.13.3, >= 0.17.0 if using JSON credentials
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
credentials_file
path
|
path to the JSON file associated with the service account email
|
|
external_ip
string
|
the external static IPv4 (or auto-assigned) address for the LB
|
|
httphealthcheck_healthy_count
integer
|
Default:
2
|
number of consecutive successful checks before marking a node healthy
|
httphealthcheck_host
string
|
host header to pass through on HTTP check requests
|
|
httphealthcheck_interval
integer
|
Default:
5
|
the duration in seconds between each health check request
|
httphealthcheck_name
string
|
the name identifier for the HTTP health check
|
|
httphealthcheck_path
string
|
Default:
"/"
|
the url path to use for HTTP health checking
|
httphealthcheck_port
integer
|
Default:
80
|
the TCP port to use for HTTP health checking
|
httphealthcheck_timeout
integer
|
Default:
5
|
the timeout in seconds before a request is considered a failed check
|
httphealthcheck_unhealthy_count
integer
|
Default:
2
|
number of consecutive failed checks before marking a node unhealthy
|
members
list / elements=string
|
a list of zone/nodename pairs, e.g ['us-central1-a/www-a', ...]
|
|
name
string
|
name of the load-balancer resource
|
|
pem_file
path
|
path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'.
|
|
port_range
string
|
the port (range) to forward, e.g. 80 or 8000-8888 defaults to all ports
|
|
project_id
string
|
your GCE project ID
|
|
protocol
string
|
Default:
"tcp"
|
the protocol used for the load-balancer packet forwarding, tcp or udp
the available choices are: tcp or udp .
|
region
string
|
the GCE region where the load-balancer is defined
|
|
service_account_email
string
|
service account email
|
|
state
string
|
Default:
"present"
|
desired state of the LB
the available choices are: active , present , absent , deleted .
|
Examples
- name: Simple example of creating a new LB, adding members, and a health check
local_action:
module: gce_lb
name: testlb
region: us-central1
members: ["us-central1-a/www-a", "us-central1-b/www-b"]
httphealthcheck_name: hc
httphealthcheck_port: 80
httphealthcheck_path: "/up"
Authors
- Eric Johnson (@erjohnso) <erjohnso@google.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/google/gce_lb_module.html