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 客户和验证者 的相关文章

  • 厨师食谱 - 重新加载路径

    我刚刚使用 Chef Cookbook 安装了 Java 并为所有用户更新了 PATH 环境变量 将新文件添加到 etc profile d 是否可以告诉厨师重新加载 PATH 变量 当我做这样的事情时 execute java check
  • 如何确定目录中的任何文件是否已更改

    Chef 有没有办法确定它是否更改了给定目录中的任何文件 如果conf d 目录中的任何设置被更新 我想重新启动服务器进程 我确信可以在每次厨师客户端运行时将 md5sum 列表写入文件 并将当前迭代与之前的迭代进行比较 但这是解决常见场景
  • 使用 Chef 运行所有 sql 文件

    你好 我需要帮助 我做了一个命令 应该读取 sql dumps 文件夹内的所有 sql 文件 但它不起作用 这是我得到的 execute Run SQL Files do dirResults Dir glob tmp sql dumps
  • 与厨师一起重命名文件的最佳方法

    如何使用 Chef 重命名文件 In the chef doc http wiki opscode com display chef Resources Resources File我只发现 创造 如果缺失则创建 delete touch
  • 使用“文件”chef-solo 资源更新文件

    我正在尝试使用安装javachef solo 问题是设置JAVA HOME and PATH变量在 etc profile文件 我尝试使用 file 厨师提供的资源 这是我的一些代码 java home export JAVA HOME u
  • Vagrant:未知配置部分“omnibus”,但已安装 vagrant-omnibus 插件

    我已按照以下说明进行操作 http berkshelf com http berkshelf com 安装最新的 ChefDK 后 从这里 http downloads getchef com chef dk mac http downlo
  • Chef ruby​​ gem 安装程序失败

    我尝试通过 Chef 在 CentOS VM 上设置 cassandra 但失败并出现以下错误 我努力了清除捆绑包缓存 https stackoverflow com questions 10575679 bundle update fai
  • 使用 shell 脚本自动化 VIM 编辑器并更新值(类似于通过 shell 脚本编辑 crontab)

    我正在尝试通过 Shell 脚本自动执行类似于 crontab 编辑的命令的 VI 编辑 但到目前为止对我不起作用 这是 admin 为 true 的最终 json name SQLSRVR admin true json class Ch
  • 引导程序文件的示例?

    有谁有一个很好的引导程序类示例 我可以看到以供参考 我似乎找不到任何地方 搜索谷歌但没有运气 搜索了帮助文件 没有运气 如果您正在搜索在应用程序开始时配置容器的类 您可以下载最新的Prism http compositewpf codepl
  • 在 docker 容器中安装 Chef-server

    我一直在尝试在 Docker 容器中安装 Chef Server 但遇到了一些麻烦 我正在运行一个带有最新版本的 Ubuntu 12 04 和最新安装的 Docker 的虚拟机 我运行一个基础 Docker Ubuntu 12 04 容器并
  • Jenkins CI 与 Chef 服务器

    有什么方法可以将 Jenkins 与 Chef Server 集成 以便我可以创建要执行的作业吗 我不想去厨师工作站 我需要在单独的服务器或厨师工作站上安装 jenkins 吗 我可以直接从 Jenkins 控制台执行所有食谱吗 是的 你可
  • Windows 食谱中的 Chef NOT_IF 和 ONLY_IF 验证问题

    我正在运行这个简单的配方块来在 IIS 中创建一个 Web 应用程序 powershell script create site my site do code New webapppool name My Web App New Webs
  • 如何通过 Chef 在 Tomcat 7 食谱上上传 WAR 文件?

    我正在尝试在由 CHEF 上的食谱安装的 Tomcat 7 上部署一个 War 文件 但是 我在任何论坛上都找不到我的问题的答案 我不知道该怎么做 我使用的是 Ubuntu 服务器 12 10 我正在使用的食谱是https github c
  • Zend 框架布局

    我从 Zend Framework 开始 我想了解 Bootstrap 文件 我已经全部学会了 init方法默认执行 但对我来说似乎很困惑 无论如何 这不是我想问的 A 来到了周围 this gt bootstrap layout 行动 我
  • Chef:是否可以定义使用模板的 Chef 资源,并从另一本说明书中调用它?

    我有一个使用 Chef 模板的资源 并且运行良好 食谱中的其他资源和食谱可以调用此资源 就我而言 我定义了一个 Maven 工件资源 在给定一些 Maven 参数 存储库名称 工件 ID 等 的情况下 您可以从 Nexus maven 存储
  • 厨师刀命令 404 未找到

    我正在尝试使用 Chef 我按照他们提供的所有步骤 使用您的硬件安装和配置 Chef 服务器 我已从工作站运行以下命令 knife SSL check Output 连接到主机 my server 443已成功验证来自 my server
  • Angular (v5) 服务正在 APP_INITIALIZER 承诺解析之前构建

    我期待 Angular 等到我的loadConfig 函数在构建其他服务之前解析 但事实并非如此 应用程序模块 ts export function initializeConfig config AppConfig return gt c
  • Zend 框架引导问题

    我已经在新安装 Zend Framework 应用程序一段时间了 但我不知道发生了什么 我有两个想要使用的自定义操作助手 并且我想在引导程序中初始化它们 但似乎我的 init 函数根本没有被调用 在启动应用程序的 index php 中 我
  • Windows 上的 Cloud-Init 等效项是什么?

    Windows 上的股票引导过程似乎有点缺乏 Linux 具有 cloud init 它将安装软件包 存储文件并根据用户数据运行 bash 脚本 Windows 有 ec2config 但当前不支持在系统 就绪 时运行 cmd 或 powe
  • 人们如何测试 opsworks 食谱?

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

随机推荐

  • 如何在没有 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