cloudscale_ch.cloud.load_balancer_pool_member 模块 – 管理 cloudscale.ch IaaS 服务上的负载均衡器池成员

注意

此模块是 cloudscale_ch.cloud 集合 (版本 2.4.0) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install cloudscale_ch.cloud

要在 playbook 中使用它,请指定: cloudscale_ch.cloud.load_balancer_pool_member

cloudscale_ch.cloud 2.3.0 中的新增功能

摘要

  • 获取、创建、更新、删除 cloudscale.ch IaaS 服务上的池成员。

参数

参数

注释

address

字符串

发送流量的 IP 地址。

api_timeout

整数

对 cloudscale.ch API 的调用的超时时间(秒)。

这也可以在 CLOUDSCALE_API_TIMEOUT 环境变量中传递。

默认值: 45

api_token

字符串 / 必需

cloudscale.ch API 令牌。

这也可以在 CLOUDSCALE_API_TOKEN 环境变量中传递。

api_url

字符串

cloudscale_ch.cloud 1.3.0 中新增

cloudscale.ch API URL。

这也可以在 CLOUDSCALE_API_URL 环境变量中传递。

默认值: "https://api.cloudscale.ch/v1"

enabled

布尔值

如果为 false,池成员将不会接收流量。默认为 true。

选项

  • false

  • true ← (默认)

load_balancer_pool

字符串

负载均衡器池的 UUID。

monitor_port

整数

发送健康监控检查的端口。

如果未指定,将使用 protocol_port。默认为 null。

name

字符串

负载均衡器池成员的名称。

nameuuid 都是必需的。

protocol_port

整数

发送实际流量的端口。

state

字符串

负载均衡器池成员的状态。

选项

  • "present" ← (默认)

  • "absent"

subnet

字符串

必须在此处指定地址的子网。

tags

字典

与负载均衡器关联的标签。将其设置为 {} 可清除所有标签。

uuid

字符串

负载均衡器的 UUID。

nameuuid 都是必需的。

备注

注意

  • 如果提供了 uuid 选项,则它优先于 name 用于池成员选择。这允许更新成员的名称。

  • 如果未提供 uuid 选项,则 name 用于池成员选择。如果存在多个具有此名称的负载均衡器,则执行将中止。

  • 所有操作均使用 cloudscale.ch 公共 API v1 执行。

  • 详细信息请参阅完整的 API 文档: https://www.cloudscale.ch/en/api/v1

  • 所有操作都需要有效的 API 令牌。您可以使用 cloudscale.ch 控制面板在 https://control.cloudscale.ch 创建任意数量的令牌。

示例

# Create a pool member for a load balancer pool using registered variables
- name: Create a load balancer pool
  cloudscale_ch.cloud.load_balancer_pool:
    name: 'swimming-pool'
    load_balancer: '514064c2-cfd4-4b0c-8a4b-c68c552ff84f'
    algorithm: 'round_robin'
    protocol: 'tcp'
    tags:
      project: ansible-test
      stage: production
      sla: 24-7
    api_token: xxxxxx
  register: load_balancer_pool

- name: Create a load balancer pool member
  cloudscale_ch.cloud.load_balancer_pool_member:
    name: 'my-shiny-swimming-pool-member'
    load_balancer_pool: '{{ load_balancer_pool.uuid }}'
    enabled: true
    protocol_port: 8080
    monitor_port: 8081
    subnet: '70d282ab-2a01-4abb-ada5-34e56a5a7eee'
    address: '172.16.0.100'
    tags:
      project: ansible-test
      stage: production
      sla: 24-7
    api_token: xxxxxx

# Get load balancer pool member facts by name
- name: Get facts of a load balancer pool member by name
  cloudscale_ch.cloud.load_balancer_pool_member:
    name: 'my-shiny-swimming-pool-member'
    api_token: xxxxxx

返回值

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

描述

address

字符串

发送流量的 IP 地址

返回:成功

示例: "10.11.12.3"

created_at

字符串

负载均衡器池成员的创建时间

返回:状态不为 absent 时成功

示例: "2023-02-07T15:32:02.308041Z"

enabled

布尔值

负载均衡器池成员的状态

返回:成功

示例: true

href

字符串

获取有关此负载均衡器的详细信息的 API URL

返回:状态不为 absent 时成功

示例: "https://api.cloudscale.ch/v1/load-balancers/pools/20a7eb11-3e17-4177-b46d-36e13b101d1c/members/b9991773-857d-47f6-b20b-0a03709529a9"

monitor_port

整数

发送健康监控检查的端口

返回:成功

示例: 8081

monitor_status

字符串

此成员的池健康监控检查状态

返回:成功

示例: "up"

name

字符串

负载均衡器池成员的显示名称

返回:成功

示例: "web-lb-pool"

pool

字典

池成员的池

返回:成功

示例: {"href": "https://api.cloudscale.ch/v1/load-balancers/pools/20a7eb11-3e17-4177-b46d-36e13b101d1c", "name": "web-lb-pool", "uuid": "20a7eb11-3e17-4177-b46d-36e13b101d1c"}

protocol_port

整数

发送实际流量的端口

返回:成功

示例: 8080

subnet

字典

地址所在的私有网络中的子网

返回:成功

示例: {"cidr": "10.11.12.0/24", "href": "https://api.cloudscale.ch/v1/subnets/70d282ab-2a01-4abb-ada5-34e56a5a7eee", "uuid": "70d282ab-2a01-4abb-ada5-34e56a5a7eee"}

tags

字典

与负载均衡器关联的标签

返回:成功

示例: {"project": "my project"}

uuid

字符串

此负载均衡器池成员的唯一标识符

返回:成功

示例: "cfde831a-4e87-4a75-960f-89b0148aa2cc"

作者

  • Gaudenz Steinlin (@gaudenz)

  • Kenneth Joss (@k-304)