Documentation

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 (on host that executes module)

  • python >= 2.6
  • apache-libcloud >= 0.13.3, >= 0.17.0 if using JSON credentials

Options

parameter required default choices comments
credentials_file
(added in 2.1.0)
no
path to the JSON file associated with the service account email
external_ip
no
the external static IPv4 (or auto-assigned) address for the LB
httphealthcheck_healthy_count
no 2
number of consecutive successful checks before marking a node healthy
httphealthcheck_host
no
host header to pass through on HTTP check requests
httphealthcheck_interval
no 5
the duration in seconds between each health check request
httphealthcheck_name
no
the name identifier for the HTTP health check
httphealthcheck_path
no /
the url path to use for HTTP health checking
httphealthcheck_port
no 80
the TCP port to use for HTTP health checking
httphealthcheck_timeout
no 5
the timeout in seconds before a request is considered a failed check
httphealthcheck_unhealthy_count
no 2
number of consecutive failed checks before marking a node unhealthy
members
no
a list of zone/nodename pairs, e.g ['us-central1-a/www-a', ...]

aliases: nodes
name
no
name of the load-balancer resource
pem_file
(added in 1.6)
no
path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'.
port_range
no
the port (range) to forward, e.g. 80 or 8000-8888 defaults to all ports
project_id
(added in 1.6)
no
your GCE project ID
protocol
no tcp
  • tcp
  • udp
the protocol used for the load-balancer packet forwarding, tcp or udp
region
no
the GCE region where the load-balancer is defined
service_account_email
(added in 1.6)
no
service account email
state
no present
  • 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.

Support

This module is community maintained without core committer oversight.

For more information on what this means please read Module Support

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.