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 标头名称将使用客户端 IP 标头参数的值或 set ns config 命令设置的值。

最小长度 = 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

字符串 / 必需

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

nitro_protocol

字符串

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

选择

  • "http" ← (默认)

  • "https"

nitro_timeout

浮点数

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

默认值: 310.0

nitro_user

字符串 / 必需

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

nsip

字符串 / 必需

将进行 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

列表 / 元素=字符串

模块记录的消息列表

返回: 始终

示例: ["消息 1", "消息 2"]

msg

字符串

详细说明失败原因的消息

返回: 失败

示例: "操作不存在"

状态

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

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

作者

  • George Nikolopoulos (@giorgos-nikolopoulos)