mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
448 lines
21 KiB
XML
448 lines
21 KiB
XML
<?xml version='1.0' encoding='utf-8' ?>
|
|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
|
|
%BOOK_ENTITIES;
|
|
]>
|
|
|
|
<!-- Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
<section id="add-loadbalancer-rule-vpc">
|
|
<title>Adding Load Balancing Rules on a VPC</title>
|
|
<para>In a VPC, you can configure two types of load balancing—external LB and internal LB.
|
|
External LB is nothing but a LB rule created to redirect the traffic received at a public IP of
|
|
the VPC virtual router. The traffic is load balanced within a tier based on your configuration.
|
|
Citrix NetScaler and VPC virtual router are supported for external LB. When you use internal LB
|
|
service, traffic received at a tier is load balanced across different VMs within that tier. For
|
|
example, traffic reached at Web tier is redirected to another VM in that tier. External load
|
|
balancing devices are not supported for internal LB. The service is provided by a internal LB VM
|
|
configured on the target tier.</para>
|
|
<section id="curent-lb-vpc">
|
|
<title>Load Balancing Within a Tier (External LB)</title>
|
|
<para>A &PRODUCT; user or administrator may create load balancing rules that balance traffic
|
|
received at a public IP to one or more VMs that belong to a network tier that provides load
|
|
balancing service in a VPC. A user creates a rule, specifies an algorithm, and assigns the
|
|
rule to a set of VMs within a tier.</para>
|
|
<section id="enable-vpc-public-lb">
|
|
<title>Enabling NetScaler as the LB Provider on a VPC Tier</title>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Add and enable Netscaler VPX in dedicated mode.</para>
|
|
<para>Netscaler can be used in a VPC environment only if it is in dedicated mode.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create a network offering, as given in <xref linkend="ext-lb-offering"/>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create a VPC with Netscaler as the Public LB provider.</para>
|
|
<para>For more information, see <xref linkend="add-vpc"/>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>For the VPC, acquire an IP.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create an external load balancing rule and apply, as given in <xref
|
|
linkend="ext-lb-vpc"/>.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
<section id="ext-lb-offering">
|
|
<title>Creating a Network Offering for External LB</title>
|
|
<para>To have external LB support on VPC, create a network offering as follows: </para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Log in to the &PRODUCT; UI as a user or admin.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>From the Select Offering drop-down, choose Network Offering.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Click Add Network Offering.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the dialog, make the following choices:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">Name</emphasis>: Any desired name for the network
|
|
offering.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Description</emphasis>: A short description of the
|
|
offering that can be displayed to users.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Network Rate</emphasis>: Allowed data transfer rate in MB
|
|
per second.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Traffic Type</emphasis>: The type of network traffic that
|
|
will be carried on the network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Guest Type</emphasis>: Choose whether the guest network is
|
|
isolated or shared.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Persistent</emphasis>: Indicate whether the guest network
|
|
is persistent or not. The network that you can provision without having to deploy a
|
|
VM on it is termed persistent network. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">VPC</emphasis>: This option indicate whether the guest
|
|
network is Virtual Private Cloud-enabled. A Virtual Private Cloud (VPC) is a
|
|
private, isolated part of &PRODUCT;. A VPC can have its own virtual network topology
|
|
that resembles a traditional physical network. For more information on VPCs, see
|
|
<xref linkend="vpc"/>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Specify VLAN</emphasis>: (Isolated guest networks only)
|
|
Indicate whether a VLAN should be specified when this offering is used.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Supported Services</emphasis>: Select Load Balancer. Use
|
|
Netscaler or VpcVirtualRouter.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Load Balancer Type</emphasis>: Select Public LB from the
|
|
drop-down.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">LB Isolation</emphasis>: Select Dedicated if Netscaler is
|
|
used as the external LB provider.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">System Offering</emphasis>: Choose the system service
|
|
offering that you want virtual routers to use in this network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Conserve mode</emphasis>: Indicate whether to use conserve
|
|
mode. In this mode, network resources are allocated only when the first virtual
|
|
machine starts in the network.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Click OK and the network offering is created.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
<section id="ext-lb-vpc">
|
|
<title>Creating an External LB Rule</title>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Log in to the &PRODUCT; UI as an administrator or end user.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the left navigation, choose Network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the Select view, select VPC.</para>
|
|
<para>All the VPCs that you have created for the account is listed in the page.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Click the Configure button of the VPC, for which you want to configure load
|
|
balancing rules.</para>
|
|
<para>The VPC page is displayed where all the tiers you created listed in a
|
|
diagram.</para>
|
|
<para>For each tier, the following options are displayed:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Internal LB</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Public LB IP</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Static NAT</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Virtual Machines</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>CIDR</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>The following router information is displayed:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Private Gateways</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Public IP Addresses</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Site-to-Site VPNs</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Network ACL Lists</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the Router node, select Public IP Addresses.</para>
|
|
<para>The IP Addresses page is displayed.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Click the IP address for which you want to create the rule, then click the
|
|
Configuration tab.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the Load Balancing node of the diagram, click View All.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Select the tier to which you want to apply the rule.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Specify the following:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">Name</emphasis>: A name for the load balancer rule.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Public Port</emphasis>: The port that receives the
|
|
incoming traffic to be balanced.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Private Port</emphasis>: The port that the VMs will use to
|
|
receive the traffic.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Algorithm</emphasis>. Choose the load balancing algorithm
|
|
you want &PRODUCT; to use. &PRODUCT; supports the following well-known
|
|
algorithms:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Round-robin</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Least connections</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Source</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Stickiness</emphasis>. (Optional) Click Configure and
|
|
choose the algorithm for the stickiness policy. See Sticky Session Policies for Load
|
|
Balancer Rules.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Add VMs</emphasis>: Click Add VMs, then select two or more
|
|
VMs that will divide the load of incoming traffic, and click Apply.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>The new load balancing rule appears in the list. You can repeat these steps to add more
|
|
load balancing rules for this IP address.</para>
|
|
</section>
|
|
</section>
|
|
<section id="acros-tiers-lb">
|
|
<title>Load Balancing Across Tiers</title>
|
|
<para>&PRODUCT; supports sharing workload across different tiers within your VPC. Assume that
|
|
multiple tiers are set up in your environment, such as Web tier and Application tier. Traffic
|
|
to each tier is balanced on the VPC virtual router on the public side, as explained in <xref
|
|
linkend="add-loadbalancer-rule-vpc"/>. If you want the traffic coming from the Web tier to
|
|
the Application tier to be balanced, use the internal load balancing feature offered by
|
|
&PRODUCT;.</para>
|
|
<section id="vpc-pic">
|
|
<title>How Does Internal LB Work in VPC?</title>
|
|
<para>In this figure, a public LB rule is created for the public IP 72.52.125.10 with public
|
|
port 80 and private port 81. The LB rule, created on the VPC virtual router, is applied on
|
|
the traffic coming from the Internet to the VMs on the Web tier. On the Application tier two
|
|
internal load balancing rules are created. An internal LB rule for the guest IP 10.10.10.4
|
|
with load balancer port 23 and instance port 25 is configured on the VM, InternalLBVM1.
|
|
Another internal LB rule for the guest IP 10.10.10.4 with load balancer port 45 and instance
|
|
port 46 is configured on the VM, InternalLBVM1. Another internal LB rule for the guest IP
|
|
10.10.10.6, with load balancer port 23 and instance port 25 is configured on the VM,
|
|
InternalLBVM2.</para>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="./images/vpc-lb.png"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase>vpc-lb.png: Configuring internal LB for VPC</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</section>
|
|
<section id="enable-vpc-lb">
|
|
<title>Enabling Internal LB on a VPC Tier</title>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Create a network offering, as given in <xref linkend="int-lb-vpc"/>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create an internal load balancing rule and apply, as given in <xref
|
|
linkend="int-lb-vpc"/>.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
<section id="int-lb-offering">
|
|
<title>Creating a Network Offering for Internal LB</title>
|
|
<para>To have internal LB support on VPC, either use the default offering,
|
|
DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB, or create a network offering as
|
|
follows: </para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Log in to the &PRODUCT; UI as a user or admin.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>From the Select Offering drop-down, choose Network Offering.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Click Add Network Offering.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the dialog, make the following choices:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">Name</emphasis>: Any desired name for the network
|
|
offering.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Description</emphasis>: A short description of the
|
|
offering that can be displayed to users.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Network Rate</emphasis>: Allowed data transfer rate in MB
|
|
per second.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Traffic Type</emphasis>: The type of network traffic that
|
|
will be carried on the network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Guest Type</emphasis>: Choose whether the guest network is
|
|
isolated or shared.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Persistent</emphasis>: Indicate whether the guest network
|
|
is persistent or not. The network that you can provision without having to deploy a
|
|
VM on it is termed persistent network. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">VPC</emphasis>: This option indicate whether the guest
|
|
network is Virtual Private Cloud-enabled. A Virtual Private Cloud (VPC) is a
|
|
private, isolated part of &PRODUCT;. A VPC can have its own virtual network topology
|
|
that resembles a traditional physical network. For more information on VPCs, see
|
|
<xref linkend="vpc"/>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Specify VLAN</emphasis>: (Isolated guest networks only)
|
|
Indicate whether a VLAN should be specified when this offering is used.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Supported Services</emphasis>: Select Load Balancer.
|
|
Select <code>InternalLbVM</code> from the provider list.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Load Balancer Type</emphasis>: Select Internal LB from the
|
|
drop-down.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">System Offering</emphasis>: Choose the system service
|
|
offering that you want virtual routers to use in this network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Conserve mode</emphasis>: Indicate whether to use conserve
|
|
mode. In this mode, network resources are allocated only when the first virtual
|
|
machine starts in the network.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Click OK and the network offering is created.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
<section id="int-lb-vpc">
|
|
<title>Creating an Internal LB Rule</title>
|
|
<para>When you create the Internal LB rule and applies to a VM, an Internal LB VM, which is
|
|
responsible for load balancing, is created. You can view the created Internal LB VM in the
|
|
Instances page if you navigate to <emphasis role="bold">Infrastructure</emphasis> >
|
|
<emphasis role="bold">Zones</emphasis> > <<emphasis role="italic">zone_
|
|
name</emphasis>> > <<emphasis role="italic">physical_network_name</emphasis>> >
|
|
<emphasis role="bold">Network Service Providers</emphasis> > <emphasis role="bold"
|
|
>Internal LB VM</emphasis>. </para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Log in to the &PRODUCT; UI as an administrator or end user.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the left navigation, choose Network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the Select view, select VPC.</para>
|
|
<para>All the VPCs that you have created for the account is listed in the page.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Locate the VPC for which you want to configure internal LB, then click
|
|
Configure.</para>
|
|
<para>The VPC page is displayed where all the tiers you created listed in a
|
|
diagram.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Locate the Tier for which you want to configure an internal LB rule, click Internal
|
|
LB.</para>
|
|
<para>In the Internal LB page, click Add Internal LB.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In the dialog, specify the following:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">Name</emphasis>: A name for the load balancer rule.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Description</emphasis>: A short description of the rule
|
|
that can be displayed to users.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Source IP Address</emphasis>: The source IP from which
|
|
traffic originates. The IP is acquired from the CIDR of that particular tier on
|
|
which you want to create the Internal LB rule. </para>
|
|
<para>For every Source IP, a new Internal LB VM is created for load balancing.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Source Port</emphasis>: The port associated with the
|
|
source IP. Traffic on this port is load balanced. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Instance Port</emphasis>: The port of the internal LB
|
|
VM.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis role="bold">Algorithm</emphasis>. Choose the load balancing algorithm
|
|
you want &PRODUCT; to use. &PRODUCT; supports the following well-known
|
|
algorithms:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Round-robin</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Least connections</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Source</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
</section>
|
|
</section>
|