community.network.netscaler_servicegroup 模块 – 管理 Netscaler 中的服务组配置

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.network。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:community.network.netscaler_servicegroup

注意

community.network 集合已被弃用,并将从 Ansible 12 中删除。有关更多信息,请参阅讨论主题

已弃用

在以下版本中删除:

版本 6.0.0

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 管理 Netscaler 中的服务组配置。

  • 此模块旨在在 Ansible 控制节点或堡垒机(跳板机)上运行,该堡垒机可以访问实际的 Netscaler 实例。

别名:network.netscaler.netscaler_servicegroup

要求

执行此模块的主机需要以下要求。

  • nitro python sdk

参数

参数

注释

appflowlog

字符串

为指定的服务组启用 AppFlow 信息记录。

选项

  • "enabled"

  • "disabled"

autoscale

字符串

服务组的自动缩放选项。

选项

  • "DISABLED"

  • "DNS"

  • "POLICY"

cacheable

布尔值

使用透明缓存重定向虚拟服务器将请求转发到缓存服务器。

注意:如果设置了缓存类型,请勿设置此参数。

选项

  • false

  • true

cachetype

字符串

缓存服务器支持的缓存类型。

选项

  • "TRANSPARENT"

  • "REVERSE"

  • "FORWARD"

cip

字符串

在转发到服务的请求中插入客户端 IP 标头。

选项

  • "enabled"

  • "disabled"

cipheader

字符串

HTTP 标头的名称,其值必须设置为客户端的 IP 地址。与客户端 IP 参数一起使用。如果启用了客户端 IP 插入,并且未指定客户端 IP 标头,则使用客户端 IP 标头参数的值或 set ns config 命令设置的值作为客户端的 IP 标头名称。

最小长度 = 1

cka

布尔值

为服务组启用客户端保持活动。

选项

  • false

  • true

clttimeout

字符串

终止空闲客户端连接之前的时间(以秒为单位)。

最小值 = 0

最大值 = 31536000

cmp

布尔值

为指定服务启用压缩。

选项

  • false

  • true

comment

字符串

有关服务组的任何信息。

disabled

布尔值

设置为 yes 时,服务组状态将设置为 DISABLED。

设置为 no 时,服务组状态将设置为 ENABLED。

请注意,由于底层 NITRO API 的限制,仅 disabled 状态更改不会导致模块结果报告已更改的状态。

选项

  • false ← (默认)

  • true

downstateflush

字符串

刷新与服务组中所有状态从 UP 转换为 DOWN 的服务关联的所有活动事务。不要为必须完成其事务的应用程序启用此选项。

选项

  • "enabled"

  • "disabled"

graceful

布尔值

在关闭服务之前,等待与该服务的所有现有连接终止。

选项

  • false

  • true

healthmonitor

布尔值

监视此服务的运行状况。可用设置的功能如下

yes - 发送探测以检查服务的运行状况。

no - 不发送探测以检查服务的运行状况。使用 NO 选项,设备始终将服务显示为 UP。

选项

  • false

  • true

httpprofilename

字符串

HTTP 配置文件的名称,其中包含服务组的 HTTP 配置设置。

最小长度 = 1

最大长度 = 127

maxbandwidth

字符串

为服务组中的所有服务分配的最大带宽(以 Kbps 为单位)。

最小值 = 0

最大值 = 4294967287

maxclient

字符串

服务组的最大并发打开连接数。

最小值 = 0

最大值 = 4294967294

maxreq

字符串

在持久连接上可以发送到服务组的最大请求数。

注意:超出此值的连接请求将被拒绝。

最小值 = 0

最大值 = 65535

memberport

字符串

成员端口。

monitorbindings

字符串

要绑定到此服务的监视器名称列表

请注意,监视器必须已经设置好,可能使用 community.network.netscaler_lb_monitor 模块或其他方法

monitorname

字符串

要绑定到此服务组的监视器名称。

weight

字符串

分配给监视器和服务组之间绑定的权重。

monthreshold

字符串

绑定到此服务的监视器的最小权重总和。用于确定是否将服务标记为“UP”或“DOWN”。

最小值 = 0

最大值 = 65535

netprofile

字符串

服务组的网络配置文件。

最小长度 = 1

最大长度 = 127

nitro_pass

string / required

用于向 Netscaler 节点进行身份验证的密码。

nitro_protocol

字符串

访问 nitro API 对象时使用的协议。

选项

  • "http" ← (默认)

  • "https"

nitro_timeout

float

与 Netscaler 建立新会话时,在抛出超时错误之前等待的秒数

默认值: 310.0

nitro_user

string / required

用于向 Netscaler 节点进行身份验证的用户名。

nsip

string / required

将执行 nitro API 调用的 Netscaler 设备的 IP 地址。

可以使用冒号 (:) 指定端口。例如:192.168.1.1:555。

pathmonitor

布尔值

用于集群的路径监视。

选项

  • false

  • true

pathmonitorindv

布尔值

单独的路径监视决策。

选项

  • false

  • true

rtspsessionidremap

布尔值

为服务组启用 RTSP 会话 ID 映射。

选项

  • false

  • true

save_config

布尔值

如果为 yes,则模块将在 Netscaler 节点上保存配置(如果进行了任何更改)。

如果模块没有进行任何更改,则不会在 Netscaler 节点上保存配置。

选项

  • false

  • true ← (默认)

servicegroupname

字符串

服务组的名称。必须以 ASCII 字母或下划线 _ 字符开头,并且只能包含 ASCII 字母数字字符、下划线 _、井号 #、句点 .、空格 、冒号 :、at 符号 @、等号 = 和连字符 - 字符。可以在创建名称后进行更改。

最小长度 = 1

servicemembers

字符串

描述服务组的每个服务成员的字典列表。

customserverid

字符串

此 IP:端口对的标识符。

当持久性类型设置为自定义服务器 ID 时使用。

hashid

字符串

服务的哈希标识符。

对于每个服务,此标识符必须唯一。

此参数由基于哈希的负载均衡方法使用。

最小值 = 1

ip

字符串

服务的 IP 地址。不得与由名称定义的现有服务器实体重叠。

port

字符串

服务器端口号。

范围 1 - 65535

* 在 CLI 中,在 NITRO API 中表示为 65535

serverid

字符串

服务的标识符。

当持久性类型设置为自定义服务器 ID 时使用。

servername

字符串

要将服务组绑定到的服务器的名称。

服务器必须已经配置为命名服务器。

最小长度 = 1

state

字符串

绑定后服务的初始状态。

选项

  • "enabled"

  • "disabled"

weight

字符串

分配给服务组中服务器的权重。

指定服务器在负载均衡配置中相对于其他服务器的容量。

权重越高,发送到该服务的请求百分比就越高。

最小值 = 1

最大值 = 100

servicetype

字符串

用于与服务交换数据的协议。

选项

  • "HTTP"

  • "FTP"

  • "TCP"

  • "UDP"

  • "SSL"

  • "SSL_BRIDGE"

  • "SSL_TCP"

  • "DTLS"

  • "NNTP"

  • "RPCSVR"

  • "DNS"

  • "ADNS"

  • "SNMP"

  • "RTSP"

  • "DHCPRA"

  • "ANY"

  • "SIP_UDP"

  • "SIP_TCP"

  • "SIP_SSL"

  • "DNS_TCP"

  • "ADNS_TCP"

  • "MYSQL"

  • "MSSQL"

  • "ORACLE"

  • "RADIUS"

  • "RADIUSListener"

  • "RDP"

  • "DIAMETER"

  • "SSL_DIAMETER"

  • "TFTP"

  • "SMPP"

  • "PPTP"

  • "GRE"

  • "SYSLOGTCP"

  • "SYSLOGUDP"

  • "FIX"

  • "SSL_FIX"

sp

布尔值

为服务组启用突增保护。

选项

  • false

  • true

state

字符串

模块在 Netscaler 节点上配置的资源的状态。

当存在时,如果需要,将创建资源并根据模块的参数进行配置。

当不存在时,将从 Netscaler 节点中删除该资源。

选项

  • "absent"

  • "present" ← (默认)

svrtimeout

字符串

终止空闲服务器连接的时间(以秒为单位)。

最小值 = 0

最大值 = 31536000

tcpb

布尔值

为服务组启用 TCP 缓冲。

选项

  • false

  • true

tcpprofilename

字符串

包含服务组 TCP 配置设置的 TCP 配置文件的名称。

最小长度 = 1

最大长度 = 127

useproxyport

布尔值

在与服务器建立连接时,使用代理端口作为源端口。如果设置为“NO”,则客户端连接端口将用作服务器端连接的源端口。

注意:仅当“使用源 IP”usip 参数设置为 yes 时,此参数才可用。

选项

  • false

  • true

usip

布尔值

在与服务器建立连接时,使用客户端的 IP 地址作为源 IP 地址。如果设置为默认值“NO”,则将使用映射 IP (MIP) 地址或子网 IP (SNIP) 地址作为源 IP 地址来建立服务器端连接。

选项

  • false

  • true

validate_certs

布尔值

如果为 no,则不会验证 SSL 证书。仅应在个人控制的站点上使用自签名证书。

选项

  • false

  • true ← (默认)

备注

注意

示例

# The LB Monitors monitor-1 and monitor-2 must already exist
# Service members defined by C(ip) must not redefine an existing server's ip address.
# Service members defined by C(servername) must already exist.

- name: Setup http service with ip members
  delegate_to: localhost
  community.network.netscaler_servicegroup:
    nsip: 172.18.0.2
    nitro_user: nsroot
    nitro_pass: nsroot

    state: present

    servicegroupname: service-group-1
    servicetype: HTTP
    servicemembers:
      - ip: 10.78.78.78
        port: 80
        weight: 50
      - ip: 10.79.79.79
        port: 80
        weight: 40
      - servername: server-1
        port: 80
        weight: 10

    monitorbindings:
      - monitorname: monitor-1
        weight: 50
      - monitorname: monitor-2
        weight: 50

返回值

常见返回值已在此处记录 此处,以下是此模块特有的字段

描述

diff

字典

实际配置的对象与模块中指定的配置之间的差异列表

返回:失败

示例: {"clttimeout": "difference. ours: (float) 10.0 other: (float) 20.0"}

loglines

list / elements=string

模块记录的消息列表

返回:始终

示例: ["message 1", "message 2"]

msg

字符串

详细说明失败原因的消息

返回:失败

示例: "Action does not exist"

状态

  • 此模块将在 6.0.0 版本中删除。 [已弃用]

  • 有关更多信息,请参阅 已弃用

作者

  • George Nikolopoulos (@giorgos-nikolopoulos)