有没有办法在文件中提供的主机上 运行 knife ssh?
Is there a way to run knife ssh on hosts provided in a file?
在向现有角色添加一堆新主机时,我想 运行 仅在新主机上使用 chef-client。
有没有办法执行 knife ssh 并在本地文件中提供主机列表?
因为如果我引用该角色,它将在所有(新+现有)主机上 运行。
正如@Tejay 提到的,您的食谱应该是幂等的,因此您无需担心某些节点上的 "unneeded" 厨师 运行。
运行 ssh knife ssh on exact list of server 的解决方案是使 search query 与您的所有节点相匹配,例如:
knife ssh 'name:server01 OR name:server02 OR ..'
或使用 manual-list
标志(检查 knife ssh doc)
-m, --manual-list
Use to define a search query as a space-separated list of servers.
If there is more than one item in the list, put quotes around the
entire list. For example: --manual-list "server01 server 02 server 03 .."
你可以有一个文件,例如。 server.txt 其中包含服务器列表
你的命令应该是这样的
knife ssh -m "$(cat servers.txt)" "chef-client" -P
应该循环文件并在每个节点中执行 chef-client。
在向现有角色添加一堆新主机时,我想 运行 仅在新主机上使用 chef-client。
有没有办法执行 knife ssh 并在本地文件中提供主机列表? 因为如果我引用该角色,它将在所有(新+现有)主机上 运行。
正如@Tejay 提到的,您的食谱应该是幂等的,因此您无需担心某些节点上的 "unneeded" 厨师 运行。
运行 ssh knife ssh on exact list of server 的解决方案是使 search query 与您的所有节点相匹配,例如:
knife ssh 'name:server01 OR name:server02 OR ..'
或使用 manual-list
标志(检查 knife ssh doc)
-m, --manual-list
Use to define a search query as a space-separated list of servers.
If there is more than one item in the list, put quotes around the
entire list. For example: --manual-list "server01 server 02 server 03 .."
你可以有一个文件,例如。 server.txt 其中包含服务器列表
你的命令应该是这样的
knife ssh -m "$(cat servers.txt)" "chef-client" -P
应该循环文件并在每个节点中执行 chef-client。