gce_lb - create/destroy GCE load-balancer resources

New in version 1.5.

Synopsis

  • This module can create and destroy Google Compute Engine loadbalancer and httphealthcheck resources. The primary LB resource is the load_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)
Default:
None
path to the JSON file associated with the service account email
external_ip Default:
None
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 Default:
None
host header to pass through on HTTP check requests
httphealthcheck_interval Default:
5
the duration in seconds between each health check request
httphealthcheck_name Default:
None
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 Default:
None
name of the load-balancer resource
pem_file
(added in 1.6)
Default:
None
path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'.
port_range Default:
None
the port (range) to forward, e.g. 80 or 8000-8888 defaults to all ports
project_id
(added in 1.6)
Default:
None
your GCE project ID
protocol
    Choices:
  • tcp
  • udp
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
(added in 1.6)
Default:
None
service account email
state
    Choices:
  • active
  • present
  • absent
  • deleted
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 flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

Hint

If you notice any issues in this documentation you can edit this document to improve it.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/gce_lb_module.html