cookbook

Chef 食谱被标记为已执行
cookbook

Chef 食谱被标记为已执行

我在我们的网络中设置了一个 Chef 服务器,用于管理多个节点。这些节点安装了 chef-client,每隔 X 分钟作为守护进程执行一次。 问题是,每次客户端运行时,它都会执行所有食谱的食谱,甚至是之前执行过的食谱,因此它会消耗资源,有时甚至会破坏思维(例如,服务重新启动)。 我知道我可以避免执行一段代码或我创建的配方,如下所述: 阻止厨师菜谱执行先前执行的操作?但是,这是否意味着我应该修改从 opscode 存储库下载的任何食谱。 换句话说,是否可以让厨师服务器(或客户端)在第一次执行食谱时立即将其标记为“已执行”? ...

Admin

Chef cookbook 依赖项
cookbook

Chef cookbook 依赖项

这可能是一个简单的问题 - 我正在尝试安装一本食谱(GitLab) 我将食谱克隆到本地驱动器上的文件夹中并运行 knife cookbook upload gitlab. 它立即抛出一个错误: Cookbook gitlab depends on cookbook postgresql version >= 0.0.0 所以我跑了 knife cookbook site download postgresql 它有一些依赖项,这些依赖项又有进一步的依赖项,现在我正在安装我知道我不需要的食谱(dmg,windows 等) 我以为这些...

Admin

如何使用 chef cookbook 允许 HTTP 流量?
cookbook

如何使用 chef cookbook 允许 HTTP 流量?

之前,我使用 chef cookbook 安装了 nginx。然后我研究了防火墙规则。为了允许 HTTP 流量,我使用了以下脚本。 firewall_rule 'http' do port 80 protocol :tcp position 1 command :allow end 但我收到了错误 NoMethodError: undefined method `firewall_rule' for cookbook: firewall, recipe: default :Chef::Recipe 我该如何解决这个问...

Admin

我们可以编写一份 Chef Cookbook 来在 CentOS 上启用 Epel 存储库吗?
cookbook

我们可以编写一份 Chef Cookbook 来在 CentOS 上启用 Epel 存储库吗?

我已经为 chefworkstation、chefserver 和 chefclient 配置了 3 个 centos 服务器。现在我想使用 cookbook 安装 nginx。为此,我有以下脚本。 package 'nginx' do action :install end 这不起作用,因为没有启用 epel-release。有没有办法在运行上述脚本之前启用 epel 存储库? ...

Admin

如何在厨师食谱中创建两个任务之间的依赖关系?
cookbook

如何在厨师食谱中创建两个任务之间的依赖关系?

我编写了一本 Chef 手册,用于配置公司中的服务器。 其中一项任务是安装名为“pssh”的“apt_package”,另一项任务是在 pssh 包安装完成后运行。 实际上,第二个任务在包安装之前运行,然后 chef-client 运行失败,提示相关文件丢失 - 丢失是因为 pssh 包安装创建了它。 我正在尝试将第二个任务配置为仅在包安装任务完成后运行。 相关代码如下: apt_package 'pssh' do action :install subscribes :run, 'file[/usr/bin/pssh]', :before...

Admin

无法找到食谱 yum 的食谱 epel
cookbook

无法找到食谱 yum 的食谱 epel

我在使用 nginx cookbook 时遇到了麻烦..并且它依赖于 yum-epel。 出现错误: “厨师::例外::RecipeNotFound 无法找到食谱 yum 的食谱 epel” $ knife cookbook show nginx nginx 2.7.6 2.7.5 2.7.4 1.8.0 $ knife cookbook show yum-epel yum-epel 0.6.6 0.6.0 $ knife cookbook show yum yum 3.10.0 3.6.0 3.5.4 3.5.3 3.5...

Admin

尽管“knife ssl check”成功,但 Chef 认证检查“cookbook upload”失败
cookbook

尽管“knife ssl check”成功,但 Chef 认证检查“cookbook upload”失败

我已经从“分销商”中放置了crt密钥,然后检查并成功。但“刀食谱上传”失败。 Chef 服务器 主机名:“分销商” Cent OS 7 chef-服务器-核心-12.4.1-1.el7.x86_64 工作台(厨房) 主机名:“工作站” Cent OS 7 chefdk-0.11.2-1.el7.x86_64.rpm 为什么认证失败?解决方法是什么? [account@Workstation chef-repo]$ knife ssl check Connecting to host Distributor:443 Successfu...

Admin

根据当前配置创建 Chef 菜谱
cookbook

根据当前配置创建 Chef 菜谱

我想知道是否可以使用 chef(或任何其他工具,如 puppet 或 ansible...)根据当前服务器配置创建食谱。 例如,我有一台运行着 jboss 7 的 Red Hat 服务器。是否可以读取该服务器配置(用户、组、已安装的服务)和 jboss 配置,并根据此配置创建一份手册,以供进一步使用和部署新服务器? 如果 chef 无法完成此任务,那么是否存在第三方工具可以处理此类任务? 谢谢。 ...

Admin

当使用 cookbook postgresql 时,如何在 Chef 运行期间多次序列化 postgresql.conf?
cookbook

当使用 cookbook postgresql 时,如何在 Chef 运行期间多次序列化 postgresql.conf?

我正在创建一个 Chef 配方,它可以做几件事,其中包括将大量数据导入 Postgresql 数据库。 我正在使用超市“postgresql”食谱这使得我可以通过属性创建配置文件node['postgresql']['config']。 我想在运行配方期间更新 postgresql.conf 中的配置,即在执行大导入之前设置适合大导入的值,然后在完成导入后更新这些值,以便更适合日常操作(具体来说fsync和full_page_writes'离开' 在导入之前并把那些 '在' 后)。 我创建了 ruby​​_block 资源,使我能够node.defau...

Admin

厨师最佳实践——评估/挑选食谱
cookbook

厨师最佳实践——评估/挑选食谱

显然,Chef 最棒的一点就是可以通过菜谱,尤其是通过包装菜谱方法重新使用经过验证的组件。 但是,如何选择要包装的食谱呢?有些例子浪费了我很多时间。 一份包含配置 erb 的食谱,该 erb 带有硬编码的过时(而不仅仅是弃用)标志。服务拒绝配置文件。注意:据我所知,除非您克隆并维护整个内容,否则包装更正的模板 erb 并非易事。 一本检查 Ubuntu 版本是否高于 9.0.4 的手册,似乎对该版本的操作不做任何操作,并且引用了过时的 /etc/event.d/ 目录。 cookbook 与 runit 或 bluepill 等流程监控工具耦合性很强。...

Admin

刀具食谱网站 downland 及其所有依赖项
cookbook

刀具食谱网站 downland 及其所有依赖项

我刚刚开始学习 Chef,正在关注http://gettingstartedwithchef.com。它建议使用knife cookbook site download $COOKBOOK_NAME来获取社区食谱。但是有时它们带有依赖项,然后我必须等到 Vagrant 告诉我有问题,然后手动逐个下载并安装软件包。 有没有办法让 Knife 下载食谱所需的所有依赖项?这样可以加快速度。 我注意到了knife cookbook site install,但这需要做一堆 git 操作,而我并不想这么做。我想下载食谱(这也意味着依赖项),我不想进行提交。 这可...

Admin

厨师说食谱不存在,但实际上却存在
cookbook

厨师说食谱不存在,但实际上却存在

在我的某个节点的运行列表中,我有“recipe[logstash::server]”。当我在该节点上运行 chef-client 时,出现以下错误: 客户端需要以下 Cookbook,但服务器上不存在:* logstash 当我跑步时刀具食谱清单我看到了 logstash,当我运行刀食谱上传logstash -o供应商/食谱/食谱上传成功。 ...

Admin

chef-solo 与 docker:防止服务在构建期间启动
cookbook

chef-solo 与 docker:防止服务在构建期间启动

我正在尝试在 docker 容器中重用现有的食谱,但大多数食谱将在 chef 客户端运行期间启动服务(例如 tomcat、apache2)。由于 chef-solo 在映像创建期间运行,因此 chef 运行将失败。 如何阻止食谱启动服务? 我正在使用以下 Dockerfile FROM jr42/chef-solo-centos ADD chef /chef RUN cd /chef && /opt/chef/embedded/bin/berks vendor /chef/cookbooks RUN chef-solo -N myno...

Admin

自定义 Chef 食谱
cookbook

自定义 Chef 食谱

我正在尝试使用 Chef 设置 Munin,但不确定将所需的自定义项放在哪里。例如,Github 上的文档说要 munin_plugin 'plugin_name'在 client.rb 中添加 。 虽然目前这样做没问题,但它似乎抑制了我从食谱下载上游更改的能力,因为我必须合并或重写我的更改。 对食谱进行定制的正确方法是什么? 我是否 修改 foo/recipe/default.rb (或类似文件,如此处的 client.rb) 创建第二本食谱,命名为 munin-custom,然后创建第二个自定义食谱 创建单一的个性化食谱,cookbooks/a...

Admin

使用 chef 添加/启用 windows 功能
cookbook

使用 chef 添加/启用 windows 功能

我正在编写 chef cookbook 来添加/启用一些 windows 功能。为了启用,我使用了powershell_script资源,下面是 powershell 脚本。 Import-Module Servermanager Add-WindowsFeature Print-LPD-Service 由于某种原因,在 chef-client 运行期间未启用窗口功能。但配方运行成功。 当我在 powershell shell 中手动执行命令时,它运行正常。 我不知道要启用什么安全设置才能满足此要求。那么,我们如何使用 chef 启用 Window...

Admin