community.general.consul_agent_service 模块 – 在 Consul 集群中添加、修改和删除服务
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。 它不包含在 ansible-core
中。 要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.general
。
要在 playbook 中使用它,请指定: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 |
在 |
|
支持: 完全 |
可以在 |
|
支持: 部分 在检查模式下,差异将遗漏操作属性。 |
在差异模式下,将返回已更改(或可能需要在 |
示例
- 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
返回值
常见的返回值记录在这里,以下是此模块特有的字段
键 |
描述 |
---|---|
执行的操作。 返回: 已更改 示例: |
|
Consul HTTP API 返回的服务。 返回: 始终 示例: |