community.general.etcd3 lookup – 从 etcd3 服务器获取键值

注意

此查找插件是 community.general 集合(版本 10.1.0)的一部分。

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

要安装它,请使用: ansible-galaxy collection install community.general。您需要进一步的要求才能使用此查找插件,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: community.general.etcd3

community.general 0.2.0 中的新增功能

概要

要求

本地控制器节点执行此查找需要满足以下要求。

  • etcd3 >= 0.10

术语

参数

注释

术语

列表 / 元素=字符串 / 必需

要在 etcd3 服务器上查找的键(或键前缀)的列表。

关键字参数

这描述了查找的关键字参数。这些值是 key1=value1key2=value2 等等,在以下示例中:lookup('community.general.etcd3', key1=value1, key2=value2, ...)query('community.general.etcd3', key1=value1, key2=value2, ...)

参数

注释

ca_cert

字符串

etcd3 CA 授权。

配置

cert_cert

字符串

etcd3 客户端证书。

配置

cert_key

字符串

etcd3 客户端私钥。

配置

endpoints

字符串

ETCDCTL_ENDPOINTS 环境变量对应。使用 URL 格式指定 etcd3 连接,例如 https://hostname:2379,或 <host>:<port> 格式。

如果定义了 host 选项,则会覆盖 host 部分。

如果定义了 port 选项,则会覆盖 port 部分。

默认值: "127.0.0.1:2379"

配置

host

字符串

etcd3 监听客户端主机。

优先级高于 endpoints

password

字符串

已认证用户的密码。

配置

port

整数

etcd3 监听客户端端口。

优先级高于 endpoints

prefix

布尔值

查找键或前缀键。

选项

  • false ← (默认)

  • true

timeout

整数

客户端超时。

默认值: 60

配置

user

字符串

已认证的用户名。

配置

说明

注意

  • 当关键字参数和位置参数一起使用时,位置参数必须列在关键字参数之前: lookup('community.general.etcd3', term1, term2, key1=value1, key2=value2)query('community.general.etcd3', term1, term2, key1=value1, key2=value2)

  • hostport 选项的优先级高于 (endpoints) 选项。

  • 推荐的连接 etcd3 服务器的方式是使用 ETCDCTL_ENDPOINT 环境变量,并保持 endpointshostport 不使用。

参见

另请参阅

community.general.etcd3

从 etcd3 集群设置或删除键值对。

community.general.etcd lookup 插件

从 etcd 服务器获取信息。

示例

- name: "a value from a locally running etcd"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.etcd3', 'foo/bar') }}"

- name: "values from multiple folders on a locally running etcd"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.etcd3', 'foo', 'bar', 'baz') }}"

- name: "look for a key prefix"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.etcd3', '/foo/bar', prefix=True) }}"

- name: "connect to etcd3 with a client certificate"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.etcd3', 'foo/bar', cert_cert='/etc/ssl/etcd/client.pem', cert_key='/etc/ssl/etcd/client.key') }}"

返回值

描述

返回值

列表 / 元素=字典

键和关联值的列表。

已返回: 成功

key

字符串

元素的键。

已返回: 成功

value

字符串

元素的值。

已返回: 成功

作者

  • Eric Belhomme (@eric-belhomme)

提示

每个条目类型的配置条目都具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。