Ansible kubernetes.core.k8s动态Inventory插件解析失败求助
Ansible k8s动态Inventory解析失败问题解决方案
问题根因
你遇到的报错是当前安装的kubernetes.core Ansible集合版本过低导致的:旧版本的k8s inventory插件仅接受k8s作为plugin字段的合法值,不支持官方文档提到的带集合前缀的全限定名kubernetes.core.k8s。
解决方案
方案1:适配低版本集合(无需升级)
直接修改两处配置即可:
- 修改ansible.cfg中inventory段的配置:
[inventory] enable_plugins = k8s - 修改k8s.yaml的plugin字段:
plugin: k8s
方案2:升级集合适配官方文档写法
如果要保留全限定名写法(兼容性更强,避免和其他同名插件冲突),先升级kubernetes.core集合到最新版本:
- 执行升级命令:
ansible-galaxy collection install kubernetes.core --upgrade - 验证版本(2.0.0及以上版本均支持全限定名写法):
ansible-galaxy collection list kubernetes.core
升级完成后原有配置无需修改即可正常运行。
补充检查项
- 确认已安装k8s插件依赖的Python库:
pip install kubernetes openshift - 确认当前环境存在可用的kubeconfig配置(默认读取~/.kube/config,也可通过KUBECONFIG环境变量指定路径),插件需要调用K8s API拉取集群资源生成清单。
内容的提问来源于stack exchange,提问作者Chris Doyle
相关产品推荐
相关产品推荐

