gce_lb – create/destroy GCE load-balancer resources¶
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
-
added in 2.1.0 |
path to the JSON file associated with the service account email
|
|
external_ip
-
|
the external static IPv4 (or auto-assigned) address for the LB
|
|
httphealthcheck_healthy_count
-
|
Default: 2
|
number of consecutive successful checks before marking a node healthy
|
httphealthcheck_host
-
|
host header to pass through on HTTP check requests
|
|
httphealthcheck_interval
-
|
Default: 5
|
the duration in seconds between each health check request
|
httphealthcheck_name
-
|
the name identifier for the HTTP health check
|
|
httphealthcheck_path
-
|
Default: "/"
|
the url path to use for HTTP health checking
|
httphealthcheck_port
-
|
Default: 80
|
the TCP port to use for HTTP health checking
|
httphealthcheck_timeout
-
|
Default: 5
|
the timeout in seconds before a request is considered a failed check
|
httphealthcheck_unhealthy_count
-
|
Default: 2
|
number of consecutive failed checks before marking a node unhealthy
|
members
-
|
a list of zone/nodename pairs, e.g ['us-central1-a/www-a', ...]
aliases: nodes |
|
name
-
|
name of the load-balancer resource
|
|
pem_file
-
|
path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'.
|
|
port_range
-
|
the port (range) to forward, e.g. 80 or 8000-8888 defaults to all ports
|
|
project_id
-
|
your GCE project ID
|
|
protocol
-
|
|
the protocol used for the load-balancer packet forwarding, tcp or udp
|
region
-
|
the GCE region where the load-balancer is defined
|
|
service_account_email
-
|
service account email
|
|
state
-
|
|
desired state of the LB
|
Examples¶
# 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"
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]