#saltstack#
我是一个在北京互联网厂子里996的程序员,一边学习追赶新技术,怕被潮流甩下掉队,一边学习投资理财方法,让自己的薪水滚雪球。我相信,越努力越幸运,虽然刚开始雪球滚起来很慢,但是只要坚持下去,它就会越滚越快,自己的养老就靠它了。在财富自由的道路上,我与你共勉。欢迎来评论区与我交流心得和干货,这样我们就可以收获更多。
大家都知道,devops领域里面做自动化运维的工具有saltstack和ansible,我最常用的saltstack,这里跟大家分享下saltstack执行命令时的超时机制。上小知识。
salt cli在给发送命令的时候,有个参数”-t, –timeout”, 表面上看是超时控制,其实文档说的很明白,其意思是如果salt cli在等待了这个timeout时间后minion还是没有返回结果回来,那么就用find_job去query一下minion询问当前执行状态。如果在如果find_job超时过了gather_job_timeout设定的时间,那么salt命令会返回:Minion did not return. [No response]。 这个参数并不是我们通常所理解的超时控制。参考 saltmaster configuration 和 SaltStack Event系统监听events测试。并且可以参看源代码salt/salt/client/__init__.py验证。
在通过cmd.run执行命令的时候,真正可以控制超时就终止命令执行的方法是:salt '*' cmd.run 'sleep 5; echo OK' timeout=1,参考这里,文中的其他命令执行方法也有超时控制。
Master中控制timeout的参数
好了,今天的分享就到这里。 如果大家觉得我的分享对你有用,还请点一点关注,在评论区跟我交流,我会持续分享一些有用的知识点和心得。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved