如何解决Docker Swarm工作人员如何进行自我检查?
我无法检查docker swarm worker节点是否已加入Ansible上的swarm。
- name: Check if Worker has already joined
shell: docker node ls
register: swarm_status
ignore_errors: true
- name: Join Swarm
shell: shell: docker swarm join --token {{ hostvars[groups['leader'][0]]['worker_token']['stdout'] }} {{ hostvars[groups['leader'][0]]['ec2_public_ip']['stdout'] }}:2377
when: swarm_status.rc != 0
run_once: true
这不起作用,因为swarm_status
将始终显示错误,因为工作人员无法自我检查。
谢谢。
解决方法
编辑:您可以使用docker_node_info从管理器节点进行检查。调试json文件以查找所需的信息:
item 1
接下来,使用json查询通过jmespath
过滤出结果for
输出:
- name: Docker Node Info
docker_node_info:
name: worker
register: worker_status
- name: Debug
debug:
msg: "{{ worker_status }}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。