是否有一个knife
咒语可以让我检查环境中给定(或所有)节点的上次签入时间。(与 Open-Source Chef 中的 http:///status 页面相反。)
我想跑:
knife role create blah
Run Code Online (Sandbox Code Playgroud)
我使用厨师独奏,不需要刀连接到服务器。我只想运行这些命令来帮助我快速预填充文件。每次我运行这些命令时,它都会尝试连接到服务器。
这不会发生
knife cookbook create blah
Run Code Online (Sandbox Code Playgroud)
双母羊 T 恤效果。
更新:
我注意到数据包和环境也是如此。我在其他地方读到过,刀主要用于厨师服务器 API,但无法完成这样的事情似乎很荒谬。它只需要保存该死的文件。
我有一个在 Ubuntu 14.04 上运行的 Chef 服务器(请参阅注 1),我可以通过访问mychefserver.myorg.com
浏览器中的 IP 地址 ( )来访问“Chef Manage”网站。
我有一个在 Mac OS X El Capitan 上运行的工作站(见注 2),我可以使用knife ssl check
和连接到 Chef 服务器knife client list
。
问题:knife
不会引导我的第三台机器 ( mynode.myorg.com
) 作为节点。
$ knife bootstrap mynode.myorg.com --sudo --ssh-user myname --forward-agent --node-name mynode
Creating new client for mynode
Creating new node for mynode
Connecting to mynode
Failed to authenticate myname - trying password auth
Enter your password: stty: 'standard input': …
Run Code Online (Sandbox Code Playgroud) Knife ssh
有这个-a
选项。我很幸运地发现Knife SSH 没有找到我的节点来告诉我它不是被称为IP
,如knife search
输出中那样,而是ipaddress
。
我很想知道在哪里可以找到详细说明这一点的文档以及调用它ipaddress
而不是IP
.
谢谢!
如何获取具有特定角色的节点列表?
它可以通过这样的东西得到:
for node in `knife node list`; do
[[ -n "`knife node show $node | grep $ROLE_NAME`" ]] && echo $node
done
Run Code Online (Sandbox Code Playgroud)
有没有办法通过刀来做到这一点而没有 bash 开销?