[英]ansible dynamic inventory kubernetes
我正在尝试在 ansible 中使用 kubernetes 插件,以便能够使用基于我的 k8 集群的动态清单。 我已经关注了这个文档https://docs.ansible.com/ansible/latest/scenario_guides/kubernetes_scenarios/k8s_inventory.html但是我一直遇到解析失败的错误。
# ansible-inventory --list -i k8s.yaml
[WARNING]: * Failed to parse /etc/ansible/k8s.yaml with ansible_collections.kubernetes.core.plugins.inventory.k8s plugin: Invalid value "kubernetes.core.k8s" for configuration option "plugin_type: inventory
plugin: ansible_collections.kubernetes.core.plugins.inventory.k8s setting: plugin ", valid values are: ['k8s']
[WARNING]: Unable to parse /etc/ansible/k8s.yaml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
{
"_meta": {
"hostvars": {}
},
"all": {
"children": [
"ungrouped"
]
}
}
从 ansible.cfg 中提取
# egrep -i "\[inventory\]|kubernetes" ansible.cfg
[inventory]
enable_plugins = kubernetes.core.k8s
k8s.yaml
# cat k8s.yaml
plugin: kubernetes.core.k8s
该错误表明kubernetes.core.k8s
是无效值,有效值为['k8s']
。 但这正是文档中的内容,我尝试了所有更改插件名称的方法,但均未成功。
任何人都可以引导我了解我在这里缺少的东西吗?
所以我设法通过编辑/usr/lib/python3/dist-packages/ansible_collections/kubernetes/core/plugins/inventory/k8s.py
让它工作,看来我的版本只将k8s
列为k8s
名称,我替换为kubernetes.core.k8s
并且有效
options:
plugin:
description: token that ensures this is a source file for the 'k8s' plugin.
required: True
choices: ['kubernetes.core.k8s']
我确实计划将它作为项目的 PR 提出,但似乎这已经在几个月前更新了,所以我一定只是有过时的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.