我安装了开源厨师服务器(11.x)。我是厨师的新手。我可以看到有带有密码和pub/priv密钥的user(通常是小刀用户(@工作站))。还有clients (厨师-验证器,节点.)带着酒吧/贵宾钥匙。
当我使用knife configuration --initial时,它使用admin用户名和priv键来缓存新的工作站用户,例如johnnym。因此,拥有密钥的管理用户非常强大,可以创建用户、节点、客户端、...etc。
但是,当我knife bootstrap ${FQDN}时,它需要一个具有管理特权的client (厨师-验证器)能够向主厨服务器创作/创作并注册新的节点/客户端。
我的问题是:如果客户端和用户能够完成相同的任务,为什么他们要分开呢?
发布于 2014-03-07 15:37:42
在OSS的上下文中,就像您的情况一样,user也可以作为一个client工作,并添加了通过用户名/密码组合使用Web的功能。
您缺少的是validator客户端密钥。
validator是一个特殊的客户机,只有一个目的:允许节点将自己注册为主厨服务器上的客户端。它是在第一个主厨运行时从节点内部使用的。注册节点后,从节点中删除validator密钥是很好的做法。
运行knife bootstrap时,它会在运行chef-client之前通过SSH将密钥从工作站复制到节点。您所面临的问题可能是因为工作站上没有validator密钥,或者因为knife找不到它(检查您的knife.rb文件,看看它希望在哪里找到密钥)。
发布于 2014-03-18 15:15:28
我们对这个主题做了一些调试。client和user的主要思想是区分人和程序。他们是怎么做到的,这就是我们首次亮相的地方。
在db中,您可以看到users可以有admin组标志,clients可以有admin and=or validator标志。
users可以使用webUI (与webui client),也可以使用chefAPI。
clients只能使用 chefAPI。
opscode_chef=# select username,admin from osc_users;
username | admin
----------+-------
admin | t
johnnym | t
leki | t
nemadmin | f
(4 rows)
name | admin | validator | id
---------------------------------------+-------+-----------+----------------------------------
chef-validator | f | t | 0000000000006ab38d5bb2564bd91f5b
chef-webui | t | f | 000000000000bd469d802db9a3fc3c88
statictestXXxd.xxxxx.xxxxxxxx.private | f | f | 000000000000f106e5461e64a15d0662
test-validator | f | f | 000000000000ea638b18e484e034b859
cica | f | f | 00000000000077dd4efbcd39a1fb10d3
(5 rows)
opscode_chef=# select name,environment,last_updated_by from nodes;
name | environment | last_updated_by
---------------------------------------+-------------+----------------------------------
statictestXXxd.xxxxx.xxxxxxxx.private | _default | 000000000000f106e5461e64a15d0662
cica_node | _default | 00000000000077dd4efbcd39a1fb10d3
(2 rows)admin成员( clients和users)可以执行所有的命令()validator成员(仅限 clients)只能执行节点命令clients和users)都可以执行客户端显示和节点命令的操作,前提是节点是由来自的请求(见表上)的同一个客户机更新的。因此,客户端具有有限的命令权限,也有有限的范围(仅限于最后更新的节点)。用户可以拥有所有特权,但不能更新节点。
我还找到了这个页面,它帮助了我们对这个话题的研究。
https://stackoverflow.com/questions/22246468
复制相似问题