Difference between revisions of "Neutron/LBaaS/LBaaS reuse option"
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>