【问题标题】:What's the difference between a Chef server, workstation, client, and node?Chef 服务器、工作站、客户端和节点之间有什么区别?
【发布时间】:2013-05-29 22:03:36
【问题描述】:

我很难区分厨师 serverworkstationclientnode。更重要的是,他们在建立初始环境时的立场是什么?我已经阅读了无数的文章和文档,但我似乎无法理解不同的角色以及它们如何在完全自动化的环境中发挥作用。也就是说,当一切都启动并运行时,如何更新说明书并同步所有厨师管理的服务器?

我目前有一个成功运行 chef-server-webui 的 Chef 服务器设置(在 Ubuntu 上)。我是否需要将计算机用作工作站来设置存储库说明书,还是需要另一个专用工作站来存放存储库?

最后,如果我想引导实例,我需要在这些实例上安装什么?我需要设置厨师/刀或其他东西吗?

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    嗯,简而言之就是documentation

    • node 是配置为由厨师客户端维护的任何服务器或虚拟服务器。节点可以是物理的或基于云的。 Chef 组织包括物理和基于云的节点的任意组合。厨师客户端在每个节点上运行。 Ohai 用于收集有关系统的数据,以便在每次 Chef 运行期间可供厨师客户端使用。
    • Workstation:工作站是配置为运行 Knife、与 Chef 存储库同步并与单个 Chef 服务器交互的计算机。工作站是 Chef 的大多数用户完成大部分工作的地方。
    • Chef Server 充当配置数据的中心。 Chef 服务器存储说明书、应用于说明书的策略以及描述基础架构中每个已注册节点的元数据。节点使用 chef-client 向 Chef 服务器询问配置详细信息,例如配方、模板和文件分发。然后,厨师客户端在节点本身(而不是厨师服务器)上执行尽可能多的配置工作。这种可扩展的方法将配置工作分配到整个组织。

    当一切都启动并运行时,如何更新食谱并同步所有厨师管理的服务器?

    您已在 PC 上本地签出您的食谱。更改它们后,您使用 knife(或 berks)将它们上传到 chef-server,并将更改提交到 Git 存储库(以获取更改的历史记录)。

    我是否需要将我的计算机用作工作站来设置存储库说明书,还是需要另一个专用工作站来存放存储库?

    是的,为您自己创建一个admin user,供您的PC(工作站)上的knife 用来与服务器通信。 Knife 是 Chef 的管理工具,因此您只能在工作站上安装它。要登录 Web 界面,请使用您的 user 凭据。 (knife 的反面是chef-client,它会下载说明书并执行它们(并配置节点)。

    如果我想引导实例,我需要在这些实例上安装什么?我需要设置厨师/刀或其他东西吗?

    引导过程在目标节点上安装chef-client,复制验证器文件,允许客户端在厨师服务器上注册,然后开始第一次运行。

    【讨论】:

    • 我需要在我的厨师服务器上安装刀吗?文档说要运行 knife configure --initial,但是当我安装 chef-server 时,它也没有安装。
    • 不,knife 是 AFAIK 一个仅限客户端的工具。我认为knife configure 配置了您的工作站。
    • @StephenKing 将小型服务器(例如 aws 微型实例)用作工作站是一种不好的做法吗?
    • @WhyAyala 您正在开发食谱,就像您开发代码一样。有些人喜欢通过 SSH 使用vi,但我不建议这样做。在本地安装 ChefDK。执行knife 命令的唯一远程系统将是CI 服务器,它在签入到VCS 后上传coobkook、数据包等。
    • 请作为一个单独的问题而不是作为评论提出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多