community.general.consul_agent_service 模块 – 在 Consul 集群中添加、修改和删除服务
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在剧本中使用它,请指定:community.general.consul_agent_service
。
community.general 9.1.0 中的新增功能
概述
允许通过代理在 Consul 集群中添加、修改和删除服务。
目前没有计划在一个操作中创建服务和检查。这是因为 Consul API 不为服务提供检查,并且检查本身与模块参数不匹配。因此,在此模块中只能创建一个没有检查的服务。
参数
参数 |
注释 |
---|---|
要通告服务将侦听的地址。此值将作为 |
|
用于 https 连接的 CA 包 |
|
指定禁用此服务标签的反熵功能。如果 EnableTagOverride 设置为 true,则外部代理可以更新目录中的此服务并修改标签。 选项
|
|
Consul 代理的主机,默认为 默认值: |
|
为此服务指定一个唯一的 ID。每个代理必须是唯一的。如果未提供,则默认为 |
|
用于过滤的可选元数据。对于键,允许使用字符 |
|
节点上服务的唯一名称,每个节点必须是唯一的,如果注册服务则为必需。 |
|
Consul 代理正在运行的端口。 默认值: |
|
Consul 代理正在运行的协议方案。默认为 默认值: |
|
服务应该是存在还是不存在。 选项
|
|
将附加到服务注册的标签。 |
|
用于授权的令牌。 |
|
是否验证 Consul 代理的 TLS 证书。 选项
|
|
指定服务的权重 默认值: |
|
通过的权重。 默认值: |
|
警告的权重。 默认值: |
属性
属性 |
支持 |
描述 |
---|---|---|
操作组: community.general.consul |
在 |
|
支持:完整 |
可以在 |
|
支持: 部分支持 在检查模式下,diff 将会遗漏操作属性。 |
当处于 diff 模式时,将返回已更改的内容的详细信息(或者在 |
示例
- name: Register nginx service with the local consul agent
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: nginx
service_port: 80
- name: Register nginx with a tcp check
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: nginx
service_port: 80
- name: Register nginx with an http check
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: nginx
service_port: 80
- name: Register external service nginx available at 10.1.5.23
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: nginx
service_port: 80
address: 10.1.5.23
- name: Register nginx with some service tags
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: nginx
service_port: 80
tags:
- prod
- webservers
- name: Register nginx with some service meta
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: nginx
service_port: 80
meta:
nginx_version: 1.25.3
- name: Remove nginx service
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
service_id: nginx
state: absent
- name: Register celery worker service
community.general.consul_agent_service:
host: consul1.example.com
token: some_management_acl
name: celery-worker
tags:
- prod
- worker
返回值
常见的返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
执行的操作。 返回: changed 示例: |
|
Consul HTTP API 返回的服务。 返回: always 示例: |