chef-infra

Ruby 服务器响应索引,404s 其他一切

我有一个厨师服务器,我还需要将其用作 Ruby gem 服务器。当我运行gem server 时,它会显示Server started at 0.0.0.0:8808。我可以在浏览器中转到主机名:8808 并查看 gem 服务器索引页面,其中列出了我希望看到的所有 gem,但所有其他目录 (link) 都会给出 404。我已经尝试过运行 gem generate_index 并使用 --legac... »

使用外部调用设置厨师变量

我正在使用应用程序说明书来部署 java 战争文件。我想做的是从外部位置(在本例中为我们的本地 nexus 存储库)加载 WAR md5。使用 chef 从外部位置加载值(例如运行一些 bash,将字符串输出到 STDOUT 并将该值用于 chef 变量)。 类似这样的 bash: export CHEF_VARIABLE = `wget -O - $/URL/WHICH/RETURNS/TE... »

Chef Knife 命令 404 未找到

我正在尝试使用 Chef,我按照他们提供的所有步骤“使用您的硬件安装和配置 Chef 服务器” 我已经从工作站运行了以下命令 knife SSL check 输出 连接到主机 my_server:443 已成功验证来自“my_server”的证书 但是当我使用以下命令时 knife client list 输出: 错误:找不到您要查找的对象 发生了什么事... »

将文件从 Chef 客户端节点复制到工作站

我想知道如何将文件从客户端节点传输到远程机器。我检查了是否有任何资源可用于执行此操作。我找到的最接近的是remote_file,但它正在从远程位置获取文件并将其传输到客户端节点。 所以我尝试了另一种选择,编写了一个执行自动 scp 的 bash 脚本。但我无法复制文件,但厨师客户端运行良好,没有显示任何错误。 这是我复制文件的脚本: #!/usr/bin/expect -f # conne... »

如何在厨房测试中捕获 Chef::Log.info

当我跑步时 kitchen test 或 kitchen test --log-level info 我的食谱中没有日志,即在测试中。 Chef::Log.info("How to make appear in kitchen output?") 显示在厨房的控制台输出中。无论如何要做到这一点? 司机:流浪者 供应商:主厨独奏 谢谢,... »

Chef-(server):客户端和用户有什么区别

我已经安装了开源的 chef-server (11.x)。我是厨师的新手。我可以看到users 带有密码和 pub/priv 密钥(通常是刀用户 (@workstations))。还有clients(厨师验证器,节点...)带有pub/priv键。 当我执行knife configuration --initial 时,它使用admin 用户名和私钥来创建新的工作站用户,例如johnnym。因此... »

Chef - 如何重新启动 VM 并继续执行操作

在 Chef 食谱中,我需要在执行一些操作后在节点上执行重启, 重启完成后,我需要继续执行其他操作: 食谱: -行动1 -行动2 -重启 -action3 -action4.... 我检查了社区中的一些现有食谱:reboot-handler、chef-reboot、chef-restart、chef-dominous,但我无法让它们中的任何一个工作。 Chef 有什么方法... »

厨师创建具有公钥访问权限的用户帐户

我正在尝试创建一个配方,它在我的配方文件目录中查找并在目录中为每个公钥创建一个用户。 cookbooks/users/files/default 目录包含: id_rsa_123456789.pub id_rsa_234567890.pub 基于这两个文件,我想创建 2 个名为 123456789 和 234567890 的用户帐户,并将其公钥分别放在 /home/$USER/.ssh/ 中... »

无法让厨师在某个用户下运行 bash

鉴于以下厨师食谱 sn-p: bash "source a file" do user "someUser" cwd "/tmp" code <<-EOH source /tmp/test.sh EOH end /tmp/test.sh 包含: echo $USER >> /tmp/out.log /tmp/out.log 然后包含“root”而... »

如何更改食谱默认目录

当我使用刀命令创建我的食谱时,我希望它们被保存到指定的目录中。 我知道我可以使用 -o 标志并指定目录。但是,我想将指定目录设为默认目录。有没有我可以更改的设置来实现这一点? 谢谢。... »

在厨师食谱上,从 ohai 检索到的 ssh 密钥在哪里?

在厨师食谱中,如果您执行 node["keys"]["ssh"]["host_rsa_public"],它将检索名为 host_rsa_public 的 ssh 密钥的公共部分,即使您在 .ssh/ 中没有任何内容。 我要将此密钥添加到其他节点.ssh/authorized_keys,稍后当我尝试使用 ssh 连接时,我需要指定该密钥文件的路径,但是此密钥在哪里? ... »

Chef 教程不需要 apache2 食谱吗?

在Chef legacy Apache tutorial 中没有提到对 apache2 食谱的任何依赖,但本教程似乎可以在没有它的情况下安装 Apache。 在学习 Chef 时,我发现这很令人困惑,因为当我去创建我的第一个食谱时,我很惊讶不得不处理下载/上传食谱依赖项。 无需下载/上传apache2 食谱甚至声明对apache2 食谱的依赖,本教程如何工作?似乎根本不应该工作。... »

升级 Chef Server 12 时出错

我在尝试从开源 Chef Server 11 升级到 Chef Server 12 时收到以下错误。 我已按照此处文档中的说明进行操作,https://docs.chef.io/upgrade_server.html#from-chef-server-osc chef-server-ctl upgrade Upgrading with options #<OpenStruct skip... »

在 Berkshelf 中使用功能分支

我正在尝试使用功能分支来测试我正在编写的当前食谱中的某些功能。通常我会像这样指向主分支: cookbook 'elasticsearch', github: 'account-name/cookbook-elasticsearch' 有没有办法指向一个特性分支?以前有人成功过吗? 谢谢,... »

Vagrant、Berkshelf 和 Chef Solo:指定特定的食谱/食谱版本?

我正在与 Berkshelf 和 Chef Solo 一起使用 Vagrant。我有多个带有多个虚拟机的项目。我最近意识到,对于某些人来说,我需要使用“yum”cookbook 2.x 版本,而对于其他人来说,我需要使用“yum”cookbook 3.x 版本。我相信 Berkshelf 可以很好地安装两者,但我不知道如何在我的 Vagrantfile 中具体指定哪一个。 它是 Chef Sol... »

使用 Chef 或 Puppet 的非常简单的 Vagrant 设置

我正在尝试让一个非常基本的 Vagrant 设置正常工作,它基本上执行以下操作: 创建一个新的 Precise64 VM 并安装一个包列表(简单的东西——我只需要 git、python、pip、virtualenv、virtualenvwrapper 和 postgres)。让它运行一个简单的 shell 脚本也很好,但我不是绝对需要它。 我已经能够让 Vagrant 启动 Precise64 ... »

一个厨师服务器/组织的多个工作站

我有一个厨师服务器,上面注册了几个节点。目前,我只有一个工作站来管理和控制节点,其中包含在我的 chef-repo 目录中编写的食谱。 我还有另外两个工程师,我希望他们能够从他们自己的工作站管理同一个厨师服务器,我已经将他们添加到同一个组织中。接下来是设置他们的工作站 问题: 他们设置自己的工作站以管理相同的厨师服务器和节点的标准方法是什么? 当他们执行设置的 git clone 部分时,... »

Chef 如何检测 AWS ec2 实例类型?

如果实例在启用 ENA 的 ami(例如 c5.2xlarge)上运行,我需要运行任意脚本。shell 命令很容易验证类型: cat /sys/class/dmi/id/product_name c5.2xlarge ...但我猜在 ohai 中也有一些有助于检测的东西。但是不确定在哪里/如何访问该属性。有什么想法吗?... »

如何在用户资源中创建用户和组

我正在使用以下命令在我的 RHEL 机器上创建一个用户: useradd -d <home_path> -m -s <shell_path> -U <name> 我希望在创建用户时创建组。重要的部分是 -U 标志。 如何在 Chef 中实现这一点?到目前为止我有 user 'name' do comment 'comment' shell '&... »

厨师包版本

我是 Chef 的新手,我正在使用这个脚本 https://github.com/apsoto/monit 来安装和配置它。 我正在尝试升级默认安装的版本(5.6),我正在尝试在我的配方中执行此操作: package "monit" do version "5.8" action :upgrade end 但是当我运行 chef 设置脚本时,我收到一条消息说它是最新的,我做错了什么吗... »