hetzner.hcloud.load_balancer_service 模块 – 在 Hetzner Cloud 上创建和管理云负载均衡器的服务。

注意

此模块是 hetzner.hcloud 集合 (版本 4.2.2) 的一部分。

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

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

要在剧本中使用它,请指定:hetzner.hcloud.load_balancer_service

hetzner.hcloud 0.1.0 中的新增功能

概要

  • 创建、更新和管理 Hetzner Cloud 上云负载均衡器的服务。

别名:hcloud_load_balancer_service

要求

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

  • python-dateutil >= 2.7.5

  • requests >=2.20

参数

参数

注释

api_endpoint

别名:endpoint

字符串

Hetzner Cloud 的 API 端点。

您也可以使用 HCLOUD_ENDPOINT 环境变量设置此选项。

默认值: "https://api.hetzner.cloud/v1"

api_token

字符串 / 必需

Hetzner Cloud 的 API 令牌。

您也可以使用 HCLOUD_TOKEN 环境变量设置此选项。

destination_port

整数

转发流量到的端口,即目标监听并接受连接的端口。

如果服务不存在且协议为 tcp,则需要此参数。

health_check

字典

健康检查配置

http

字典

使用 http/https 协议的健康检查附加配置

domain

字符串

我们将在 HTTP HOST 头中设置的域名

path

字符串

我们将尝试访问的路径

response

字符串

我们期望的响应,如果响应不在健康检查响应中,则目标不健康

status_codes

列表 / 元素=字符串

执行健康检查时我们期望获得的 HTTP 状态代码列表。

tls

布尔值

验证 TLS 证书,仅在健康检查协议为 https 时可用

选项

  • false ← (默认)

  • true

interval

整数

健康检查间隔,以秒为单位

port

整数

将执行健康检查的端口

protocol

字符串

将执行健康检查的协议

选项

  • "http"

  • "https"

  • "tcp"

retries

整数

直到目标被标记为不健康之前的重试次数

timeout

整数

健康检查超时,以秒为单位

http

字典

HTTP 和 HTTPS 服务的配置

certificates

列表 / 元素=字符串

证书名称或 ID 列表

整数

启用粘性会话时将设置的 cookie 的生命周期,以秒为单位

字符串

启用粘性会话时将设置的 cookie 的名称

redirect_http

布尔值

将流量从 80 端口重定向到 443 端口,仅在协议为 https 时可用

选项

  • false ← (默认)

  • true

sticky_sessions

布尔值

启用或禁用粘性会话

选项

  • false ← (默认)

  • true

listen_port

整数 / 必需

服务监听的端口,即用户可以连接到的端口。

load_balancer

字符串 / 必需

服务所属的 Hetzner Cloud 负载均衡器的名称或 ID

protocol

字符串

服务的协议。

如果负载均衡器不存在,则需要此参数。

选项

  • "http"

  • "https"

  • "tcp"

proxyprotocol

布尔值

启用 PROXY 协议。

选项

  • false ← (默认)

  • true

state

字符串

负载均衡器的状态。

选项

  • "absent"

  • "present" ← (默认)

另请参阅

另请参阅

Hetzner Cloud API 文档

Hetzner Cloud API 的完整参考。

示例

- name: Create a basic Load Balancer service with Port 80
  hetzner.hcloud.load_balancer_service:
    load_balancer: my-load-balancer
    protocol: http
    listen_port: 80
    state: present

- name: Ensure the Load Balancer is absent (remove if needed)
  hetzner.hcloud.load_balancer_service:
    load_balancer: my-Load Balancer
    protocol: http
    listen_port: 80
    state: absent

返回值

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

描述

hcloud_load_balancer_service

复杂类型

负载均衡器服务实例

返回: 始终

destination_port

整数

转发流量到的端口,即目标监听并接受连接的端口。

返回: 始终

示例: 80

health_check

复杂类型

健康检查配置

返回: 始终

http

复杂类型

使用 http/https 协议的健康检查附加配置

返回: 始终

domain

字符串

我们将在 HTTP HOST 头中设置的域名

返回: 始终

示例: "example.com"

path

字符串

我们将尝试访问的路径

返回: 始终

示例: "/"

response

字符串

我们期望的响应,如果响应不在健康检查响应中,则目标不健康

返回: 始终

status_codes

列表 / 元素=字符串

执行健康检查时我们期望获得的 HTTP 状态代码列表。

返回: 始终

示例: ["2??", "3??"]

tls

布尔值

验证 TLS 证书,仅在健康检查协议为 https 时可用

返回: 始终

示例: false

interval

整数

健康检查间隔,以秒为单位

返回: 始终

示例: 15

port

整数

将执行健康检查的端口

返回: 始终

示例: 80

protocol

字符串

将执行健康检查的协议

返回: 始终

示例: "http"

retries

整数

直到目标被标记为不健康之前的重试次数

返回: 始终

示例: 3

timeout

整数

健康检查超时,以秒为单位

返回: 始终

示例: 10

http

复杂类型

HTTP 和 HTTPS 服务的配置

返回: 始终

certificates

列表 / 元素=字符串

证书名称或 ID 列表

返回: 始终

整数

启用粘性会话时将设置的 cookie 的生命周期,以秒为单位

返回: 始终

示例: 3600

字符串

启用粘性会话时将设置的 cookie 的名称

返回: 始终

示例: "HCLBSTICKY"

redirect_http

布尔值

将流量从 80 端口重定向到 443 端口,仅在协议为 https 时可用

返回: 始终

示例: false

sticky_sessions

布尔值

启用或禁用粘性会话

返回: 始终

示例: true

listen_port

整数

服务监听的端口,即用户可以连接到的端口。

返回: 始终

示例: 443

load_balancer

字符串

服务所属负载均衡器的名称

返回: 始终

示例: "my-load-balancer"

protocol

字符串

服务的协议

返回: 始终

示例: "http"

proxyprotocol

布尔值

启用 PROXY 协议。

返回: 始终

示例: false

作者

  • Lukas Kaemmerling (@LKaemmerling)