type=page
status=published
title=create-http-lb-ref
next=create-http-listener.html
prev=create-http-lb-config.html
~~~~~~

create-http-lb-ref
==================

[[create-http-lb-ref-1]][[GSRFM00029]][[create-http-lb-ref]]

create-http-lb-ref
------------------

Adds an existing cluster or server instance to an existing load balancer
configuration or load balancer

[[sthref259]]

=== Synopsis

[source]
----
asadmin [asadmin-options] create-http-lb-ref [--help] 
--config config_name | --lbname load_balancer_name 
[--lbpolicy round-robin] [--lbpolicymodule lb_policy_module] 
[--healthcheckerurl url] [--healthcheckerinterval 10] 
[--healthcheckertimeout 10] [--lbenableallinstances=true] 
[--lbenableallapplications=true] [--lbweight instance=weight[:instance=weight]*] 
target
----

[[sthref260]]

=== Description

Use the `create-http-lb-ref` subcommand to:

* Add an existing cluster or server instance to an existing load
balancer configuration or load balancer. The load balancer forwards the
requests to the clustered and standalone instances it references.
* Set the load balancing policy to round-robin, weighted round-robin, or
to a user-defined policy.
* Configure a health checker for the load balancer. Any health checker
settings defined here apply only to the target. If you do not create a
health checker with this subcommand, use `create-http-health-checker`.
* Enable all instances in the target cluster for load balancing, or use
`enable-http-lb-server` to enable them individually.
* Enable all applications deployed to the target for load balancing, or
use `enable-http-lb-application` to enable them individually.


[NOTE]
====
This subcommand is only applicable to Oracle GlassFish Server. This
subcommand is not applicable to GlassFish Server Open Source Edition.
====


[[sthref261]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--config`::
  Specifies which load balancer configuration to which to add clusters
  and server instances. Specify either a load balancer configuration or
  a load balancer. Specifying both results in an error.
`--lbname`::
  Specifies the load balancer to which to add clusters and server
  instances. Specify either a load balancer configuration or a load
  balancer. Specifying both results in an error.
`--lbpolicy`::
  The policy the load balancer follows. Valid values are `round-robin`,
  `weighted-round-robin`, and `user-defined`. If you choose
  user-defined, specify a load balancer policy module with the
  `lbpolicymodule` option. If you choose `weighted-round-robin` assign
  weights to the server instances using the `configure-lb-weight`
  subcommand. The default is `round-robin`.
`--lbpolicymodule`::
  If your load balancer policy is `user-defined`, use this option to
  specify the full path and name of the shared library of your load
  balancing policy module. The shared library needs to be in a location
  accessible by the web server.
`--healthcheckerurl`::
  The URL to ping to determine whether the instance is healthy.
`--healthcheckerinterval`::
  The interval in seconds the health checker waits between checks of an
  unhealthy instance to see whether it has become healthy. The default
  value is 30 seconds. A value of 0 disables the health checker.
`--healthcheckertimeout`::
  The interval in seconds the health checker waits to receive a response
  from an instance. If the health checker has not received a response in
  this interval, the instance is considered unhealthy. The default is
  10.
`--lbenableallinstances`::
  Enables all instances in the target cluster for load balancing. If the
  target is a server instance, enables that instance for load balancing.
  The default value is true.
`--lbenableallapplications`::
  Enables all applications deployed to the target cluster or instance
  for load balancing. The default value is true.
`--lbweight`::
  The name of the instance and the weight you are assigning it. The
  weight must be an integer. The pairs of instances and weights are
  separated by colons. For example `instance1=1:instance2=4` means that
  for every five requests, one goes to instance1 and four go to
  instance2. A weight of 1 is the default.

[[sthref262]]

=== Operands

target::
  Specifies which cluster or instance to add to the load balancer. Valid
  values are:
+
  * cluster_name- Specifies that requests for this cluster will be
  handled by the load balancer.
  * stand-alone_instance_name- Specifies that requests for this
  standalone instance will be handled by the load balancer.

[[sthref263]]

=== Examples

[[GSRFM480]][[sthref264]]

==== Example 1   Adding a Cluster Reference to a Load Balancer Configuration

This example adds a reference to a cluster named `cluster2` to a load
balancer configuration named `mylbconfig`.

[source]
----
asadmin> create-http-lb-ref --config mylbconfig cluster2 

Command create-http-lb-ref executed successfully.
----

[[GSRFM481]][[sthref265]]

==== Example 2   Adding a Cluster Reference to a Load Balancer

This example adds a reference to a cluster named `cluster2` to a load
balancer named `mylb`.

[source]
----
asadmin> create-http-lb-ref --lbname mylb cluster2 

Command create-http-lb-ref executed successfully.
----

[[GSRFM482]][[sthref266]]

==== Example 3   Configuring a Health Checker and Load Balancer Policy

This example configures a health checker and load balancing policy, and
enables the load balancer for instances and applications.

[source]
----
asadmin> create-http-lb-ref --config mylbconfig --lbpolicy weighted-round-robin 
--healthcheckerinterval 40 --healthcheckertimeout 20 
--lbenableallinstances=true --lbenableallapplications=true cluster2 

Command create-http-lb-ref executed successfully.
----

[[GSRFM483]][[sthref267]]

==== Example 4   Setting a User-Defined Load Balancing Policy

This example sets a user-defined load balancing policy.

[source]
----
asadmin> create-http-lb-ref --lbpolicy user-defined --lbpolicymodule /user/modules/module.so
--config mylbconfig cluster2

Command create-http-lb-ref executed successfully.
----

[[sthref268]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref269]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:configure-lb-weight.html#configure-lb-weight-1[`configure-lb-weight`(1)],
link:create-http-health-checker.html#create-http-health-checker-1[`create-http-health-checker`(1)],
link:delete-http-lb-ref.html#delete-http-lb-ref-1[`delete-http-lb-ref`(1)],
link:enable-http-lb-application.html#enable-http-lb-application-1[`enable-http-lb-application`(1)],
link:enable-http-lb-server.html#enable-http-lb-server-1[`enable-http-lb-server`(1)],
link:list-http-lb-configs.html#list-http-lb-configs-1[`list-http-lb-configs`(1)],
link:list-http-lbs.html#list-http-lbs-1[`list-http-lbs`(1)]


