Chef 客户和验证者

2024-02-13

我试图理解 Chef 客户端和验证器的概念,以及它们与引导过程的关系。

根据本文 http://docs.opscode.com/server_manage_clients.html,厨师-客户将使用/etc/chef/validation.pem用于在初始运行时验证自身身份的私钥,因为/etc/chef/client.pem尚不存在。这个初始运行将以某种方式产生client.pem,然后用于所有后续客户端请求。

我的问题:

  1. 什么过程将/etc/chef/validation.pem首先,厨师客户端节点上的文件?引导程序?有人可以提供一个可以执行此操作的刀命令的示例吗?
  2. 同样的问题,但对于/etc/chef/client.pem file.
  3. 厨师-客户及其厨师-验证者的名称由什么决定?

回答您更新的问题

1) Validation.Pem(和 client.rb)将在引导过程之后创建。您需要运行下面所示的命令(knife 配置客户端)才能创建这些文件。在 ~/.chef 目录中创建这些文件后,您需要将它们移动到 /etc/chef

 knife configure client ~/.chef  
 sudo su
 mkdir -p /etc/chef
cp ~/.chef/client.rb /etc/chef
cp ~/.chef/validation.pem /etc/chef

输出将是

创建客户端配置 编写client.rb 编写validation.pem

2) Client.pem 将在第一次厨师客户端运行期间创建。摘自厨师文档

“在第一次厨师客户端运行期间,此(client.pem)私钥不存在。相反,厨师客户端将尝试使用分配给厨师验证器的私钥,该私钥位于 /etc/chef/validation 中。 pem。(如果出于某种原因,chef-validator 无法向 Chef 服务器发出经过身份验证的请求,则初始 Chef-client 运行将失败。)”

例如,我通常按以下方式进行。一旦客户端设置完毕(第一次)并且我使用 Chef-client 命令在该节点上运行厨师食谱,如下所示,它将自动创建 client.pem

chef-client -o Cookbook_name::Recipe_Name

3) 执行此操作之前,请确保您的主机名是唯一/正确的。在 Centos 上,更改 /etc/sysconfig/network 文件并使用 /etc/init.d/network restart 重新绑定所有内容。

我对第一个问题的回答是这里的解决方案。运行该命令后(一般该命令在bootstrap后运行)

knife configure client ~/.chef 

客户端节点的主机名将在厨师服务器中自动创建。


第一个问题和第二个问题的答案(编辑问题之前)

1)您在以下链接中看到的所有内容http://mychefserver.example.com/clients http://mychefserver.example.com/clients是向该特定 Chef-Server 注册的节点(物理机)的发送。 Chef-Client 是一个代理,将在向 Chef-服务器注册的每个节点上运行。 Chef-client用于在相应的节点上运行菜谱。以下是使用 Chef 客户端在节点上运行 Chef 菜谱的方法。

chef-client -o Cookbook_name::Recipe_Name

将所有客户端放在一起是连接到厨师服务器的节点集厨师客户端是在所有节点中运行的代理,用于向厨师服务器注册节点以使节点达到所需状态。厨师-客户还有许多其他用途。有关详细信息,请访问 [Chef-Client][1] 文档页面。

2) bootstrap 是一个在目标系统上安装 Chef-client 的过程,以便它可以作为 Chef-client 运行并与 Chef 服务器通信。

换句话说,引导过程是在节点(硬件机器)上安装厨师客户端并使该节点作为该厨师服务器的客户端之一的方法。仅当引导过程完成后,该特定节点才会在您的客户端列表中可见。

http://mychefserver.example.com/clients
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chef 客户和验证者 的相关文章

  • Vagrant:未知配置部分“omnibus”,但已安装 vagrant-omnibus 插件

    我已按照以下说明进行操作 http berkshelf com http berkshelf com 安装最新的 ChefDK 后 从这里 http downloads getchef com chef dk mac http downlo
  • 在 Browserify 应用程序中注入数据

    这里有人知道如何将数据注入 Browserify 应用程序吗 我的意思是 我使用 Browserify 创建一个大的捆绑 app js 文件 但是当我的单页应用程序启动时 服务器还会将一些引导数据添加到加载应用程序的 HTML 页面中 以便
  • 有没有办法将私有 git 存储库与 Berkshelf 一起使用

    我创建了一本名为foo 并且想要与一起使用Berkshelf 我是这样写的Berksfile cookbook foo git https bitbucket org ironsand cookbook foo git 然后将食谱卖给coo
  • Zend 框架布局

    我从 Zend Framework 开始 我想了解 Bootstrap 文件 我已经全部学会了 init方法默认执行 但对我来说似乎很困惑 无论如何 这不是我想问的 A 来到了周围 this gt bootstrap layout 行动 我
  • PHP 引导基础知识

    我正在编写我的第一个 PHP 应用程序 每个人都谈论拥有一个bootstrap php初始化您的应用程序 这是有道理的 我已经整理了一个我很满意的 有两件事我不明白 而且似乎没有人提到 我在哪里调用我的引导表单 我是否将其包含在每个页面中
  • c#,带有wix的MSBuild Bootstrapper,如何下载.net Framework 3.5 SP1?

    我设法使用以下代码为包含 net Framework 3 5SP1 的项目创建引导程序
  • 在vagrant box上创建虚拟主机

    我正在尝试设置一个基于 Chef 提供的 vagrant 的开发环境 我使用 Apache 使用 Chef 创建了一个环境 并且可以通过端口转发从我的主机访问 Web 服务器 我想让我的流浪盒包含多个虚拟主机 并且通过共享文件夹 我将定义不
  • 厨师兼顾客中途死亡

    最近 我们开始遇到厨师客户在跑步过程中死亡的问题 因为我们在通常进行得更快的跑步列表的各个部分上花费了更多的时间 我使用的是家庭 Wi Fi 而我的同事使用的是工作 Wi Fi 该 Wi Fi 本身也存在一些连接问题 如果在 Chef cl
  • 如何在 Chef LWRP 定义中实现动态属性默认值

    我希望能够用 3 个参数来定义一个轻量级资源 其中两个是基本 基本参数 第三个是这两个参数的组合 我还想提供自定义第三个参数的可能性 例如 如何修改以下代码以实现上述行为full name属性 资源定义 actions install at
  • AngularJS 的配置阶段

    引导 Angular 应用程序的配置阶段发生了什么 无法想象 现在我对提供商感到困惑 SO 可能是配置阶段的洞察力帮助我理解整个过程 因为提供程序可以在配置阶段注入 Thanks 角度应用程序使用服务 http location ETC 有
  • Zend 覆盖默认视图对象

    如何覆盖 zend 框架中的默认视图对象 以便我可以拥有自定义视图对象 class Bootstrap extends Zend Application Bootstrap Bootstrap function initViewHelper
  • bootstrap 一般如何工作,特别是在 Zend Framework 中?

    我正在阅读 Zend Framework 手册 但无法理解引导程序如何工作 特别是在 ZF 和一般情况下 他们写 您的 Bootstrap 类定义了要使用哪些资源和组件 初始化 好的 这意味着应该首先实例化 Bootstrap 类 但随后他
  • 人们如何测试 opsworks 食谱?

    我在 nginx 上使用我目前使用 Capistrano 的乘客对铁路应用程序的动态配置实例进行了相当复杂的部署 我正在尝试自动化 Opsworks 上从创建堆栈 层 实例和动态应用程序部署的整个过程 现有的 Opsworks 食谱都无法满
  • 如何配置berks API服务器?

    我想在我的基础设施中实现 Berks API 其中包括 Jenkins Git 服务器和 Chef 12 Enterprise 服务器 按照 Berkshelf 的方式 每本说明书都位于 Git 服务器中自己的存储库中 基本上 我只希望我的
  • Vagrant + Chef:配置错误“虚拟机上缺少 Chef 所需的共享文件夹。”

    我已经使用 Chef library Chef 安装了 Vagrant Virtualbox 当我做vagrant up第一次 食谱被正确加载 但是 当我事后进行配置时 无论是vagrant provision vagrant reload
  • 什么是引导?

    我不断看到应用程序开发的讨论中提到 引导 它似乎既广泛又重要 但我还没有找到关于引导实际上是什么的哪怕一个糟糕的解释 相反 似乎每个人都应该知道它的含义 但我不这么认为 据我所知 它与应用程序启动时所需的初始化任务有关 但我对此可能完全错误
  • 跨配方访问属性

    是否可以配置可跨配方访问的属性 如果是 怎么办 我已经为每个配方配置了属性 但我想消除大量重复 Chef 的工作方式是 在收敛开始时 Chef 会迭代所有具有将在节点上运行的食谱的食谱 直接在运行列表上或通过引用 include recip
  • 如何使用 Chef 在本地移动/复制文件

    我还没有遇到过可以在本地复制 移动文件的 Chef 资源 比如我要下载码头涨潮 http dist codehaus org jetty jetty hightide 7 4 5 jetty hightide 7 4 5 v20110725
  • 使用knife ec2插件在VPC私有子网中创建虚拟机

    尽管我已经写了相当多的 Chef 文章 但我对 AWS VPC 和管理网络流量 尤其是堡垒主机 还相当陌生 使用 Knife ec2 插件 我希望能够从我的开发人员工作站动态创建和引导虚拟机 VM 应能够存在于我的 VPC 的公有子网或私有
  • Chef 服务器安装问题

    我一直在尝试使用本指南在我的 CentOS 6 5 机器上安装 Chef 服务器 chef server core 12 1 0 1 el6 x86 64 rpm http docs chef io server install serve

随机推荐

  • 如何在没有 setup.py 的情况下安装 Python 模块?

    我是 Python 新手 正在尝试安装此模块 http www catonmat net blog python library for google search http www catonmat net blog python lib
  • Boost Graph Library 多态捆绑属性

    所以我使用以下类型的增强图 typedef boost adjacency list
  • 将 Rails 引擎安装到生产中的多个应用程序的最佳实践

    我对在生产中组织 Rails 应用程序和可安装引擎有点困惑 我有 N 个应用程序 它们使用 1 个可安装引擎 它为应用程序设置一些 cookie 在开发中它是这样工作的 文件夹 app1 app2 my engine 在应用程序 Gemfi
  • 使用sycl在Windows上构建tensorflow c ++时未定义monolithic

    我正在尝试为在 GPU 上运行的 Windows 构建 TensorFlow C 或 TensorFlow lite 不使用 CUDA 它应该可以在 AMD 上运行 我最好的猜测是使用 OpenCL 和 SYCL 我下载了 Codeplay
  • 在 Zend Framework 1 中记录错误的最佳方法是什么?

    我们在 Zend Framework v1 中构建了一个应用程序 并且在设置错误报告和日志记录方面没有做太多工作 有没有什么方法可以让我们在不对代码进行太多更改的情况下获得某种级别或错误报告 有可用的 ErrorHandler 插件吗 基本
  • 继承React组件的正确方法

    我知道我的问题有点偏颇 但我对 Javascript 很陌生并且prototypes 我读过它 但我真的不明白如何将该技术应用于我的实际问题 所以一个例子会非常有帮助 所以我有一个React组件 基本上看起来像这样 var Componen
  • 当 HTTP POST 重定向到 GET 时,POST 正文会发生什么?

    按照我之前的question https stackoverflow com questions 4939195 redirecting an http post 我需要将 HTTP POST 请求重定向到不同的服务器 我相信这可以使用 p
  • java.lang.IllegalArgumentException:缺少某些字段(可选或强制)

    我正在尝试使用 Apache Camel Bindy 创建固定文件阅读器 但出现异常 请帮助我找到解决方案 没有页眉和页脚 效果很好 Update 文件很小 现在无法理解 并且添加了 public 文件内容 101 08 2009 30A9
  • 当我在 Grails 上调用 Post 方法时,params 为空

    我正在为我的应用程序编写网络服务 我的问题是 当我使用 GET 方法调用它时 它可以工作 但是当我使用 POST 方法时 params 不包含我的参数 当我使用 GET 调用时 这是 params 的内容 params username a
  • 如何重置 jquery 动画以重新开始?

    我已经构建了一段不错的代码 一些动画和一些单击 悬停事件 其中只有一小行 我打算在多个 html 文档上使用它 这是一个游戏 你必须得到正确的答案并继续下一个问题 用全页滑块构建在另一个 html 中 我不想加载 DOM 多个次 毫无意义
  • Java流减少

    我有以下示例数据集 我想使用基于方向值的 Java 流 api 对其进行转换 减少 Direction int IN 1 2 OUT 3 4 OUT 5 6 7 IN 8 IN 9 IN 10 11 OUT 12 13 IN 14 to D
  • 改造@GET - 如何显示请求字符串?

    我正在开发一个 Android 应用程序 它使用 Retrofit 创建一个安静的客户端 为了调试网络调用 我想显示或转储实际被调用的 url 有没有办法做到这一点 我在下面添加了一些代码 显示了应用程序当前如何使用改造 客户端接口定义 i
  • 如何在不停止 JVM 的情况下将 Javaagent 添加到 JVM?

    我希望在不停止应用程序的情况下分析 Java 应用程序 我可以在应用程序运行时以某种方式添加 Javaagent 吗 See 程序启动后启动Java代理 https stackoverflow com questions 1277219 s
  • JSON.NET:从 JProperty 值获取 JObject

    我被困在某件事上 我使用 JObject Load 反序列化了一个 JSON 文件 get the JSON into an object JObject jsonObject JObject Load new JsonTextReader
  • 运行不带参数或任务名称的 CLI Thor 应用程序

    我正在寻找一种方法来创建一个命令行雷神应用程序 该应用程序将运行不带任何参数的默认方法 我摆弄了 Thor 的 default method 选项 但仍然要求我传递一个参数 我找到了一个类似案例 https stackoverflow co
  • 计算文本区域字符数

    我正在为我的文本区域开发字符计数website http ilanshomekitchen x10 mx new contact html 现在显示NaN 因为它似乎没有找到该字段中有多少个字符的长度 该字段一开始是0 所以数字应该是500
  • NHibernate (+ FluentNhibernate) : 连接两个独立的表

    我在创建具有共同属性的两个实体的联接时遇到问题 但它们没有映射在一起 假设您有一个实体 Article 其中包含属性 FamilyCode 和一个具有属性 Code 和 Label 的实体 Family 在我的映射中 Article 没有引
  • 如何“深度”克隆闭源第三方类的属性?

    The ICloneable http msdn microsoft com en us library system icloneable v vs 100 aspx NET框架的接口通常提供一种方法来支持cloning http en
  • 当特定部分出现在屏幕上时切换类[重复]

    这个问题在这里已经有答案了 我正在制作一个大滚动页 我的导航是固定位置的 当导航到达我页面上的特定部分时 我想更改导航上的颜色 从黑色到白色 反之亦然 因为有些是白色的 有些是黑色的 我想做一个对比 我已经在 css 中创建了一个应该切换的
  • Chef 客户和验证者

    我试图理解 Chef 客户端和验证器的概念 以及它们与引导过程的关系 根据本文 http docs opscode com server manage clients html 厨师 客户将使用 etc chef validation pe