由于引号,无法读取ansible shell模块输出
团队, 我有以下输出,但无法读取其值。。由于环境限制,我不能使用K8s模块,只需要使用shell或命令模块 有什么提示可以解决这个问题吗?我想获取gpu\u class\u list.stdout\u lines.Labels.nodeType之类的值由于引号,无法读取ansible shell模块输出,ansible,ansible-2.x,ansible-inventory,ansible-facts,Ansible,Ansible 2.x,Ansible Inventory,Ansible Facts,团队, 我有以下输出,但无法读取其值。。由于环境限制,我不能使用K8s模块,只需要使用shell或命令模块 有什么提示可以解决这个问题吗?我想获取gpu\u class\u list.stdout\u lines.Labels.nodeType之类的值 - name: "SHELL Fetch all CPU nodes from clusters using K8s beta.kubernetes.io/instance-type" shell: kubectl descr
- name: "SHELL Fetch all CPU nodes from clusters using K8s beta.kubernetes.io/instance-type"
shell: kubectl describe nodes -l beta.kubernetes.io/instance-type=2xlarge | grep -A 7 Labels
register: gpu_class_list
failed_when: not gpu_class_list
- name: debug shell command register var for pull by label
debug:
#var: gpu_class_list.stdout_lines
var: gpu_class_list.stdout_lines.Labels
输出
“gpu_class_list.stdout_lines.Labels”: “VARIABLE IS NOT DEFINED!“
您有一个字符串列表,但试图像字典一样引用它们(键/值对)-这行不通。为了避免较低级别的字符串处理,我建议查看
k8s\u info
模块。例如:
- name: Fetch all CPU nodes from clusters using K8s beta.kubernetes.io/instance-type"
k8s_info:
kind: Node
label_selectors:
- beta.kubernetes.io/instance-type=2xlarge
register: nodes
然后,您将拥有一个对象(在变量
节点下
),该对象可以按照您尝试的方式(或类似方式)进行引用。您将在每个节点的元数据
部分下找到标签由于一些环境限制,我无法使用K8s模块,只需要使用纯shell或命令模块。因此,我提出了挑战。不确定-我觉得你的问题写得很好。我想尝试一下字符串解析方法,但目前没有时间。希望很快再次访问。需要了解问题的原因是-1吗?
“gpu_class_list.stdout_lines.Labels”: “VARIABLE IS NOT DEFINED!“
- name: Fetch all CPU nodes from clusters using K8s beta.kubernetes.io/instance-type"
k8s_info:
kind: Node
label_selectors:
- beta.kubernetes.io/instance-type=2xlarge
register: nodes