You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Alpine Podman容器中运行Ansible时无法导入python-ldap库

解决Ansible community.general.ldap_attrs 模块依赖导入失败问题

报错根源

报错信息明确指出目标主机rocky9.localdomain的Python3.9环境缺少python-ldap库,但这里存在逻辑误区:community.general.ldap_attrs模块是用来连接外部LDAP服务器执行属性修改的,根本不需要在目标主机(rocky9)上运行——默认Ansible会将模块分发到目标主机执行,才导致了这个错误。

你的Alpine容器已经正确安装了py3-ldap依赖,所以只需要让任务在控制端(容器本地)执行即可。

解决方案

给ldap_attrs任务添加delegate_to: localhost参数,强制任务在控制端运行:

- name: Modify LDAP attributes
  community.general.ldap_attrs:
    dn: "xxx"
    attributes:
      servicePrincipalName:
         - "host/xxx"
         - "RestrictedKrbHost/xxx"
    state: present
    server_uri: "ldap://xx"
    bind_dn: "cn=xxx,OU=aaa,DC=bbb,DC=ccc"
    bind_pw: "xxx"
  delegate_to: localhost

补充说明

  • 你之前的ansible.builtin模块能正常运行,是因为这类模块大多是针对目标主机的操作(如文件管理、系统命令),且目标主机满足依赖要求。
  • 容器的构建配置没有问题:已经安装了py3-ldap、编译依赖(build-base、openldap-dev等),也正确安装了community.general集合。

内容的提问来源于stack exchange,提问作者Denis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:07:06