Jump to: navigation, search

Difference between revisions of "Neutron/LBaaS/LBaaS reuse option"

< Neutron‎ | LBaaS
Line 14: Line 14:
  
 
{{https://wiki.eng.vmware.com/wiki/images/d/d6/Lb_resource_model_trinity.JPG}}
 
{{https://wiki.eng.vmware.com/wiki/images/d/d6/Lb_resource_model_trinity.JPG}}
 +
 +
== Object Definitions  ==
 +
This section illustrates the object scheme in XML format. I'm using an example configuration:
 +
- 4x [[VirtualServers]] for HTTP, HTTPS, TCP and HTTP Redirection
 +
- 2x Pools, each has 2x members
 +
- 3x Monitors with different types
 +
<source lang="xml"><loadBalancer>
 +
  <accelerationEnabled>true</accelerationEnabled>  <!-- optional, default is false-->
 +
  <enabled>true</enabled>  <!-- Optional, default is true -->
 +
  <logging>
 +
    <enable>true</enable>
 +
    <logLevel>info</logLevel>
 +
  </logging>
 +
  <virtualServer> <!-- 0 ~ 64 virtualServers could be defined under loadBalancer -->
 +
    <id>1</id> <!-- generated dynamically by VSM -->
 +
    <name>http_lb</name> <!-- Unique, Needed, 0~255, the name should just contains upper and lower case letters, digits, -  (dash), _  (underscore) and start with letters -->
 +
    <description>virtualServer for http traffic</description> <!-- Optional, 0~255 -->
 +
    <[[VirtualIps]]> <!-- Required -->
 +
      <ipAddress>192.168.1.101</ipAddress> <!-- Required -->
 +
    </VirtualIps>
 +
    <protocol>HTTP</protocol> <!-- Needed, HTTP/HTTPS/TCP -->
 +
    <port>80</port> <!-- Needed, 0~65535 -->
 +
    <connectionLimit>1000</connectionLimit>
 +
    <rateLimit>100</rateLimit>
 +
    <enabled>true</enabled> <!--Optional, default is true -->
 +
    <applicationProfile>
 +
        <id>1</id>
 +
    </applicationProfile> <!-- required -->
 +
    <pool>
 +
      <id>1</id>
 +
    </pool>
 +
  </virtualServer>
 +
 +
  <virtualServer>
 +
    <name>https_lb</name>
 +
    <description>virtualServer for https traffic</description>
 +
    <[[VirtualIps]]> <!-- Required -->
 +
      <ipAddress>192.168.1.101</ipAddress> <!-- Required -->
 +
    </VirtualIps>
 +
    <protocol>HTTPS</protocol>
 +
    <port>443</port>
 +
    <enabled>true</enabled>
 +
    <applicationProfile>
 +
      <id>2</id>
 +
    </applicationProfile>
 +
    <pool>
 +
      <id>2</id>
 +
    </pool>
 +
  </virtualServer>

Revision as of 00:33, 12 October 2012

Resource Model

A number of objects defined for loadbalancer resource model: (PPT)

1. Virtual-server: A virtual server is a traffic-management object represented by a set of IP address and a service. Clients send application traffic to a virtual server, which then directs the traffic according to your configuration instructions.

2. Application-profile: An application profile contains the configuration to manage application-specific network traffic in a variety of ways, depending on the protocols and services being used. For example, you can configure SSL client certificates before passing requests on to a target server. After configuring a profile, you associate the profile with a virtual server. The virtual server then processes traffic according to the values specified in the profile.

3. Pool: A load balancing pool is a logical set of devices, such as web servers, that you group together to receive and process traffic.

4. Member: A pool member represents the application running on backend server.

5. Monitor: A health monitor can monitor the health or performance of either pool members or servers.

Template:Https://wiki.eng.vmware.com/wiki/images/d/d6/Lb resource model trinity.JPG

Object Definitions

This section illustrates the object scheme in XML format. I'm using an example configuration: - 4x VirtualServers for HTTP, HTTPS, TCP and HTTP Redirection - 2x Pools, each has 2x members - 3x Monitors with different types <source lang="xml"><loadBalancer>

 <accelerationEnabled>true</accelerationEnabled>  
 <enabled>true</enabled>  
 <logging>
   <enable>true</enable>
   <logLevel>info</logLevel>
 </logging>
 <virtualServer> 
   <id>1</id> 
   <name>http_lb</name> 
   <description>virtualServer for http traffic</description> 
   <VirtualIps> 
     <ipAddress>192.168.1.101</ipAddress> 
   </VirtualIps>
   <protocol>HTTP</protocol> 
   <port>80</port> 
   <connectionLimit>1000</connectionLimit>
   <rateLimit>100</rateLimit>
   <enabled>true</enabled> 
   <applicationProfile>
       <id>1</id>
   </applicationProfile> 
   <pool>
     <id>1</id>
   </pool>
 </virtualServer>
 <virtualServer>
   <name>https_lb</name>
   <description>virtualServer for https traffic</description>
   <VirtualIps> 
     <ipAddress>192.168.1.101</ipAddress> 
   </VirtualIps>
   <protocol>HTTPS</protocol>
   <port>443</port>
   <enabled>true</enabled>
   <applicationProfile>
     <id>2</id>
   </applicationProfile>
   <pool>
     <id>2</id>
   </pool>
 </virtualServer>