community.docker.nsenter 连接 – 在运行控制器容器的主机上执行

注意

此连接插件是 community.docker 集合 (版本 4.1.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.docker

要在 playbook 中使用它,请指定:community.docker.nsenter

community.docker 1.9.0 中的新增功能

概要

  • 此连接插件允许在特权容器中运行的 Ansible 在容器主机上执行任务,而不是在容器本身中执行。

  • 这对于在拉取模型中运行 Ansible 非常有用,同时仍保持 Ansible 控制节点容器化。

  • 它依赖于具有特权访问权限才能在主机的 PID 命名空间中运行 nsenter,允许它进入提供的 PID(默认 PID 1 或 init/systemd)的命名空间。

参数

参数

注释

nsenter_pid

整数

使用 nsenter 附加的 PID。

除非您以非 root 用户身份附加,否则默认值应该没问题。

默认值: 1

配置

  • INI 条目

    [nsenter_connection]
    nsenter_pid = 1
    
  • 环境变量:ANSIBLE_NSENTER_PID

  • 变量:ansible_nsenter_pid

备注

注意

  • 远程用户被忽略;此插件始终以 root 身份运行。

  • 此插件要求 Ansible 控制器容器以以下方式启动:(1)容器镜像包含 nsenter 程序;(2)容器在特权模式下启动;(3)容器在主机的 PID 命名空间中启动(--pid host)。

作者

  • Jeff Goldschrafe (@jgoldschrafe)

提示

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