我正在尝试使用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.k8sk8s.yaml
# cat k8s.yaml
plugin: kubernetes.core.k8s错误提示kubernetes.core.k8s是无效值,有效值是['k8s']。然而,这正是文档中的内容,我尝试过修改插件名的所有方法,但都没有成功。
有人能引导我了解我在这里缺少的东西吗?
发布于 2021-11-15 23:34:04
因此,我设法通过编辑/usr/lib/python3/dist-packages/ansible_collections/kubernetes/core/plugins/inventory/k8s.py来使它正常工作,似乎我的版本只将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']我确实计划把它作为一个公关项目,但似乎这已经更新了几个月前,所以我一定是有过时的文件。
https://stackoverflow.com/questions/69982016
复制相似问题