Invoke ADCAddGslbvserver - j81blog/J81.ADCToolkit GitHub Wiki

Invoke-ADCAddGslbvserver

SYNOPSIS

Add Global Server Load Balancing configuration Object.

SYNTAX

Invoke-ADCAddGslbvserver [-Name] <String> [-Servicetype] <String> [[-Iptype] <String>]
 [[-Dnsrecordtype] <String>] [[-Lbmethod] <String>] [[-Backupsessiontimeout] <Double>]
 [[-Backuplbmethod] <String>] [[-Netmask] <String>] [[-V6netmasklen] <Double>] [[-Rule] <String>]
 [[-Tolerance] <Double>] [[-Persistencetype] <String>] [[-Persistenceid] <Double>] [[-Persistmask] <String>]
 [[-V6persistmasklen] <Double>] [[-Timeout] <Double>] [[-Edr] <String>] [[-Ecs] <String>]
 [[-Ecsaddrvalidation] <String>] [[-Mir] <String>] [[-Disableprimaryondown] <String>]
 [[-Dynamicweight] <String>] [[-State] <String>] [[-Considereffectivestate] <String>] [[-Comment] <String>]
 [[-Somethod] <String>] [[-Sopersistence] <String>] [[-Sopersistencetimeout] <Double>]
 [[-Sothreshold] <Double>] [[-Sobackupaction] <String>] [[-Appflowlog] <String>] [-PassThru] [-WhatIf]
 [-Confirm] [<CommonParameters>]

DESCRIPTION

Configuration for Global Server Load Balancing Virtual Server resource.

EXAMPLES

EXAMPLE 1

Invoke-ADCAddGslbvserver -name <string> -servicetype <string>

An example how to add gslbvserver configuration Object(s).

PARAMETERS

-Name

Name for the GSLB virtual server. Must begin with an ASCII alphanumeric or underscore (_) character, and must contain only ASCII alphanumeric, underscore, hash (#), period (.), space, colon (:), at (@), equals (=), and hyphen (-) characters. Can be changed after the virtual server is created. CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my vserver" or 'my vserver').

Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Servicetype

Protocol used by services bound to the virtual server. Possible values = HTTP, FTP, TCP, UDP, SSL, SSL_BRIDGE, SSL_TCP, NNTP, ANY, SIP_UDP, SIP_TCP, SIP_SSL, RADIUS, RDP, RTSP, MYSQL, MSSQL, ORACLE

Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Iptype

The IP type for this GSLB vserver. Possible values = IPV4, IPV6

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 4
Default value: IPV4
Accept pipeline input: False
Accept wildcard characters: False

-Dnsrecordtype

DNS record type to associate with the GSLB virtual server's domain name. Possible values = A, AAAA, CNAME, NAPTR

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 5
Default value: A
Accept pipeline input: False
Accept wildcard characters: False

-Lbmethod

Load balancing method for the GSLB virtual server. Possible values = ROUNDROBIN, LEASTCONNECTION, LEASTRESPONSETIME, SOURCEIPHASH, LEASTBANDWIDTH, LEASTPACKETS, STATICPROXIMITY, RTT, CUSTOMLOAD, API

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 6
Default value: LEASTCONNECTION
Accept pipeline input: False
Accept wildcard characters: False

-Backupsessiontimeout

A non zero value enables the feature whose minimum value is 2 minutes. The feature can be disabled by setting the value to zero. The created session is in effect for a specific client per domain.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 7
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False

-Backuplbmethod

Backup load balancing method. Becomes operational if the primary load balancing method fails or cannot be used. Valid only if the primary method is based on either round-trip time (RTT) or static proximity. Possible values = ROUNDROBIN, LEASTCONNECTION, LEASTRESPONSETIME, SOURCEIPHASH, LEASTBANDWIDTH, LEASTPACKETS, STATICPROXIMITY, RTT, CUSTOMLOAD, API

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 8
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Netmask

IPv4 network mask for use in the SOURCEIPHASH load balancing method.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 9
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-V6netmasklen

Number of bits to consider, in an IPv6 source IP address, for creating the hash that is required by the SOURCEIPHASH load balancing method.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 10
Default value: 128
Accept pipeline input: False
Accept wildcard characters: False

-Rule

Expression, or name of a named expression, against which traffic is evaluated. This field is applicable only if gslb method or gslb backup method are set to API. The following requirements apply only to the Citrix ADC CLI:

  • If the expression includes one or more spaces, enclose the entire expression in double quotation marks.
  • If the expression itself includes double quotation marks, escape the quotations by using the \ character.
  • Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 11
Default value: "none"
Accept pipeline input: False
Accept wildcard characters: False

-Tolerance

Site selection tolerance, in milliseconds, for implementing the RTT load balancing method. If a site's RTT deviates from the lowest RTT by more than the specified tolerance, the site is not considered when the Citrix ADC makes a GSLB decision. The appliance implements the round robin method of global server load balancing between sites whose RTT values are within the specified tolerance. If the tolerance is 0 (zero), the appliance always sends clients the IP address of the site with the lowest RTT.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 12
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False

-Persistencetype

Use source IP address based persistence for the virtual server. After the load balancing method selects a service for the first packet, the IP address received in response to the DNS query is used for subsequent requests from the same client. Possible values = SOURCEIP, NONE

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 13
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Persistenceid

The persistence ID for the GSLB virtual server. The ID is a positive integer that enables GSLB sites to identify the GSLB virtual server, and is required if source IP address based or spill over based persistence is enabled on the virtual server.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 14
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False

-Persistmask

The optional IPv4 network mask applied to IPv4 addresses to establish source IP address based persistence.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 15
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-V6persistmasklen

Number of bits to consider in an IPv6 source IP address when creating source IP address based persistence sessions.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 16
Default value: 128
Accept pipeline input: False
Accept wildcard characters: False

-Timeout

Idle time, in minutes, after which a persistence entry is cleared.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 17
Default value: 2
Accept pipeline input: False
Accept wildcard characters: False

-Edr

Send clients an empty DNS response when the GSLB virtual server is DOWN. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 18
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-Ecs

If enabled, respond with EDNS Client Subnet (ECS) option in the response for a DNS query with ECS. The ECS address will be used for persistence and spillover persistence (if enabled) instead of the LDNS address. Persistence mask is ignored if ECS is enabled. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 19
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-Ecsaddrvalidation

Validate if ECS address is a private or unroutable address and in such cases, use the LDNS IP. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 20
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-Mir

Include multiple IP addresses in the DNS responses sent to clients. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 21
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-Disableprimaryondown

Continue to direct traffic to the backup chain even after the primary GSLB virtual server returns to the UP state. Used when spillover is configured for the virtual server. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 22
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-Dynamicweight

Specify if the appliance should consider the service count, service weights, or ignore both when using weight-based load balancing methods. The state of the number of services bound to the virtual server help the appliance to select the service. Possible values = SERVICECOUNT, SERVICEWEIGHT, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 23
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-State

State of the GSLB virtual server. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 24
Default value: ENABLED
Accept pipeline input: False
Accept wildcard characters: False

-Considereffectivestate

If the primary state of all bound GSLB services is DOWN, consider the effective states of all the GSLB services, obtained through the Metrics Exchange Protocol (MEP), when determining the state of the GSLB virtual server. To consider the effective state, set the parameter to STATE_ONLY. To disregard the effective state, set the parameter to NONE. The effective state of a GSLB service is the ability of the corresponding virtual server to serve traffic. The effective state of the load balancing virtual server, which is transferred to the GSLB service, is UP even if only one virtual server in the backup chain of virtual servers is in the UP state. Possible values = NONE, STATE_ONLY

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 25
Default value: NONE
Accept pipeline input: False
Accept wildcard characters: False

-Comment

Any comments that you might want to associate with the GSLB virtual server.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 26
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Somethod

Type of threshold that, when exceeded, triggers spillover. Available settings function as follows:

  • CONNECTION - Spillover occurs when the number of client connections exceeds the threshold.
  • DYNAMICCONNECTION - Spillover occurs when the number of client connections at the GSLB virtual server exceeds the sum of the maximum client (Max Clients) settings for bound GSLB services. Do not specify a spillover threshold for this setting, because the threshold is implied by the Max Clients settings of the bound GSLB services.
  • BANDWIDTH - Spillover occurs when the bandwidth consumed by the GSLB virtual server's incoming and outgoing traffic exceeds the threshold.
  • HEALTH - Spillover occurs when the percentage of weights of the GSLB services that are UP drops below the threshold. For example, if services gslbSvc1, gslbSvc2, and gslbSvc3 are bound to a virtual server, with weights 1, 2, and 3, and the spillover threshold is 50%, spillover occurs if gslbSvc1 and gslbSvc3 or gslbSvc2 and gslbSvc3 transition to DOWN.
  • NONE - Spillover does not occur. Possible values = CONNECTION, DYNAMICCONNECTION, BANDWIDTH, HEALTH, NONE
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 27
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Sopersistence

If spillover occurs, maintain source IP address based persistence for both primary and backup GSLB virtual servers. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 28
Default value: DISABLED
Accept pipeline input: False
Accept wildcard characters: False

-Sopersistencetimeout

Timeout for spillover persistence, in minutes.

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 29
Default value: 2
Accept pipeline input: False
Accept wildcard characters: False

-Sothreshold

Threshold at which spillover occurs. Specify an integer for the CONNECTION spillover method, a bandwidth value in kilobits per second for the BANDWIDTH method (do not enter the units), or a percentage for the HEALTH method (do not enter the percentage symbol).

Type: Double
Parameter Sets: (All)
Aliases:

Required: False
Position: 30
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False

-Sobackupaction

Action to be performed if spillover is to take effect, but no backup chain to spillover is usable or exists. Possible values = DROP, ACCEPT, REDIRECT

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 31
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Appflowlog

Enable logging appflow flow information. Possible values = ENABLED, DISABLED

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 32
Default value: ENABLED
Accept pipeline input: False
Accept wildcard characters: False

-PassThru

Return details about the created gslbvserver item.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

NOTES

File Name : Invoke-ADCAddGslbvserver Version : v2111.2521 Author : John Billekens Reference : https://developer-docs.citrix.com/projects/citrix-adc-nitro-api-reference/en/latest/configuration/gslb/gslbvserver/ Requires : PowerShell v5.1 and up ADC 13.x and up. ADC 12 and lower may work, not guaranteed.

RELATED LINKS

https://blog.j81.nl

⚠️ **GitHub.com Fallback** ⚠️