community.docker.docker_node_info 模块 – 从 Swarm Manager 获取 Docker Swarm 节点信息
注意
此模块是 community.docker 集合 (版本 4.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.docker
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定: community.docker.docker_node_info
。
概要
检索有关 Docker 节点的信息。
基本上返回
docker node inspect <name>
的输出。必须在作为 Swarm Manager 运行的主机上执行,否则模块将失败。
要求
执行此模块的主机需要以下要求。
Docker API >= 1.25
Python 的 Docker SDK:请注意,docker-py Python 模块已被 docker 取代(详细信息请参见 此处)。请注意,这两个模块不应同时安装。另请注意,当同时安装这两个模块并卸载其中一个时,另一个可能无法再运行,需要重新安装。
Python 的 Docker SDK >= 2.4.0
参数
参数 |
注释 |
---|---|
Docker 主机上运行的 Docker API 的版本。 默认为 Python 的 Docker SDK 和 Docker 守护程序支持的最新 API 版本。 如果任务中未指定此值,则将使用环境变量 默认值: |
|
通过提供 CA 证书文件的路径来执行服务器验证时使用 CA 证书。 如果任务中未指定此值并且设置了环境变量 此选项名为 |
|
客户端 TLS 证书文件的路径。 如果任务中未指定此值并且设置了环境变量 |
|
客户端 TLS 密钥文件的路径。 如果任务中未指定此值并且设置了环境变量 |
|
调试模式 选项
|
|
用于连接 Docker API 的 URL 或 Unix 套接字路径。要连接到远程主机,请提供 TCP 连接字符串。例如, 如果任务中未指定此值,则将使用环境变量 默认值: |
|
要检查的节点名称。 要检查的节点名称列表。 如果为空,则返回 Swarm 集群中所有节点的信息。 标识节点时,可以使用节点的主机名(在 Swarm 中注册)或节点 ID。 如果 |
|
通过使用 TLS 保护与 API 的连接,而无需验证 Docker 主机服务器的真实性。请注意,如果 如果任务中未指定此值,则将使用环境变量 选项
|
|
验证 Docker 主机服务器的真实性时,请提供服务器的预期名称。 如果任务中未指定此值,则将使用环境变量 请注意,此选项在较旧的版本中具有默认值 注意:此选项不再支持 Docker SDK for Python 7.0.0+。使用 Docker SDK for Python 7.0.0 或更高版本指定它将导致错误。 |
|
对于 SSH 传输,请使用 需要 Docker SDK for Python 4.4.0 或更高版本。 选项
|
|
通过使用 TLS 并验证 Docker 主机服务器的真实性来保护与 API 的连接。 如果任务中未指定此值,则将使用环境变量 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
操作组: community.docker.docker,docker |
在 |
|
支持:完全支持 此操作不会修改状态。 |
可以在 |
|
支持: N/A 此操作不会修改状态。 |
处于差异模式时,将返回有关已更改内容(或可能需要在 |
注释
注意
通过为每个任务提供参数或定义环境变量来连接到 Docker 守护程序。您可以定义
DOCKER_HOST
、DOCKER_TLS_HOSTNAME
、DOCKER_API_VERSION
、DOCKER_CERT_PATH
、DOCKER_TLS
、DOCKER_TLS_VERIFY
和DOCKER_TIMEOUT
。如果您使用的是 docker machine,请运行产品附带的设置环境的脚本。它将为您设置这些变量。有关更多详细信息,请参阅 https://docs.docker.net.cn/machine/reference/env/。使用 TLS 连接到 Docker 守护程序时,您可能需要安装其他 Python 包。对于 Docker SDK for Python 2.4 或更高版本,可以使用 ansible.builtin.pip 安装
docker[tls]
。请注意,Docker SDK for Python 只允许为极少数功能指定 Docker 配置的路径。通常,如果未指定
DOCKER_CONFIG
环境变量,它将使用$HOME/.docker/config.json
,否则将使用$DOCKER_CONFIG/config.json
。此模块使用 Docker SDK for Python 与 Docker 守护程序进行通信。
示例
- name: Get info on all nodes
community.docker.docker_node_info:
register: result
- name: Get info on node
community.docker.docker_node_info:
name: mynode
register: result
- name: Get info on list of nodes
community.docker.docker_node_info:
name:
- mynode1
- mynode2
register: result
- name: Get info on host if it is Swarm Manager
community.docker.docker_node_info:
self: true
register: result
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|