gce_lb – create/destroy GCE load-balancer resources

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
-
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
-
    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
-
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

Authors

Hint

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