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。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定: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

布尔值

启用或禁用 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

布尔值

启用或禁用 sticky_sessions

已返回: 总是

示例: true

listen_port

整数

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

已返回: 总是

示例: 443

load_balancer

字符串

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

已返回: 总是

示例: "my-load-balancer"

protocol

字符串

服务的协议

已返回: 总是

示例: "http"

proxyprotocol

布尔值

启用 PROXY 协议。

已返回: 总是

示例: false

作者

  • Lukas Kaemmerling (@LKaemmerling)