问题标签 [chef-zero]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vagrant - Vagrant with Chef Zero 在初始启动时失败,但随后提供成功
我正在尝试为厨师零提供一个流浪者盒子。当我运行vagrant up myboxname
它时,它会在 Chef URL 上出现 404 错误并退出并出现错误。如果我然后运行vagrant provision myboxname
它成功。本地厨师服务器的启动是否存在某种延迟,并且需要在 vagrant 配置中以某种方式满足?我在两次运行中都没有找到一个对象,但是第二次运行,为什么会发生这种情况?
流浪文件:
其他信息:
运行,例如使用 trusty64:
然后立即运行vagrant provision myboxname
(我总结了日志)
chef-infra - 如何在没有 Berkshelf 的情况下使用 chef_zero 配置器在 .kitchen.yml 中指定 cookbook_path
我的项目是由我们公司的食谱构成的,该目录与第 3 方食谱分开。
在“MyCookbook”目录中工作时,我正在尝试在我的食谱上运行厨房融合。MyCookbook 中的默认食谱取决于 ark,它位于 3rdPartyCookbooks 目录下的一组单独的食谱中。但我收到以下错误。
我试图将“3rdPartyCookbooks”的路径添加到我的knife.rb 中,但这没有用。
我尝试将各种 cookbook_path 排列添加到我的 .kitchen.yml 文件的配置部分,但这也不起作用。
和
ruby - 如何使用 chef-gem 指定平台?
通常你会像这样安装一个平台相关的 gem:
gem install sys-proctable -q --no-rdoc --no-ri -v "0.9.3" --platform mswin32
如何使用 chef_gem 传递 --platform 参数?
最好的,
-尤利安
amazon-web-services - Chef-Zero + AWS + 角色覆盖属性
我是 Chef 和 AWS 的新手,我正在学习如何将集群部署到 AWS Ec2。为此,我正在使用 chef-provisioning-aws。
我chef-client
从我的工作站直接执行到 AWS,我没有chef-server
(使用 chef-zero)。这就是我执行的方式:
chef-client -z -r "role[example_cluster]"
是的,我有集群的角色,并且在run_list
我有
"recipe[example::aws_setup]",
"recipe[example::create_cluster]"
在example::create_cluster
我machine_batch
用来创建机器的配方上,并调用以下配方:
recipe 'example::recipe_1'
recipe 'example::recipe_2'
我还定义了一些属性,并在 Role 文件中覆盖了其中一些属性,但是当我执行 时,和上chef-client
的属性是我在 Role 文件上覆盖的属性,但在和中使用的属性是默认属性。example::aws_setup
example::create_cluster
example::recipe_1
example::recipe_2
有人有指导或可以帮助我吗?
提前致谢。
chef-infra - 为什么测试厨房生成的 dna.json 中的节点属性未包含在我的 chef-shell 执行中?
使用以下命令,我可以让 chef-shell 执行,拉入我所有的食谱和数据包:
但是,我得到以下异常:
当我在 my 中指定了适当的值时,该值nil
被提供给函数,并且它在我传递给 chef-shell 的 中。我知道值在那里,因为我的常规“厨房收敛”发现该属性很好。chef_vault_item
.kitchen.yml
dna.json
为什么生成的测试厨房中的节点属性dna.json
未包含在我的 chef-shell 执行中?让 chef-shell 在 Test Kitchen VM 内运行,我是否完全错了?
ubuntu - 为厨房使用创建用户
我有一组使用我们服务器上的“ubuntu”用户的 Chef 脚本
我现在已经开始尝试让 Kitchen 进行测试,但它使用“vagrant”用户进行设置,因此在运行我的脚本时出现 UserIDNotFound 错误
有没有办法创建一个纯粹供 Kitchen 使用的“ubuntu”用户,或者让 Kitchen 与“ubuntu”用户而不是“vagrant”用户一起完成所有工作?
谢谢!
chef-infra - 厨房使用 chef_zero 收敛于 chef_roles 不会扩展 run_list
问题:
我试图使用 chef_zero 来测试以 ruby DSL 格式指定的食谱角色,但是当我尝试使用kitchen converge
. 看起来它无法扩展 中指定的角色
kitchen.yml
。
如何解决:是否无法chef-zero
使用 test-kitchen 来测试食谱中的角色,或者我在我的kitchen.yml
. 如何在本地使用 chef_zero 测试角色。
厨师-stacktrace.out:
Chef::Exceptions::MissingRole:扩展的运行列表包括不存在的角色:test_role
vagrant - 带有 Berkshelf 的流浪厨师供应忽略了环境版本
我们当前的设置是我们希望重新使用服务器管理员提供的厨师食谱来配置我们的开发环境。问题是,我们无法更改原始食谱,也不想使用确切的食谱(由于某些部分不需要)。
与实时基础架构相比,我们将使用 Vagrant 管理的虚拟机——尽可能靠近实时基础架构配置。所以计划是在我们端创建一个简单的食谱,需要我们的服务器提供商提供的原始服务器食谱,并调用所需的接收方。
一切都已经很好了,食谱是从 github(私人仓库)下载的,作为 Berkshelf 依赖项,我们的自定义食谱只调用我们想要运行的食谱。
相应Vagrantfile
的就这么简单:
而我们Berksfile
的只有:
整体项目结构如下:
现在的诀窍是,食谱中的所有依赖metadata.rb
项1000-server
都不受版本限制。这是留给环境的。
metadata.rb
剪辑:
development.json
(来自main
食谱)剪断
当然,其他环境可能会使用不同的版本。这种方法在使用常规 Chef 部署的实时环境中运行良好。
对于使用 Vagrant 的开发部分,我们遇到了问题。在 Vagrant 的供应阶段,环境特定的版本似乎被忽略了。只有在chef-zero
机器本身上运行时,环境才会请求提供的不同版本。
apt
这对于食谱来说是显而易见的。在 vagrant 配置期间,版本4.0.0
(最新的)被供应。然而,当开发角色融合时,会出现版本冲突,因为此环境需要版本2.9.2.
的(部分截断的)日志vagrant up
是:
我当然可以将这些依赖项固定在我们的metadata.rb
主文件中,但是我猜这会破坏这里的目的,并且不允许我们切换到不同的环境(例如生产环境),也不会总是使用与1000-server
食谱相同的版本(或不同版本的1000-server
食谱)
我见过这个人有同样的问题kitchen
,但我想这对 Vagrant 不起作用。关于如何解决环境问题的任何想法?
关于如何解决这个问题的任何想法?或者这是我们的东西
chef-infra - 厨师自定义资源卫士
我有一个自定义资源(在我的食谱的 /resources 文件夹中的一个名为 dsc_class.rb 的文件中)。基本上,这是一种无需安装和使用完整 DSC 引擎即可轻松调用 DSC 类资源的方法。
效果很好 - 但动作总是“执行”,所以当资源保护和 powershell 脚本不执行时,我在主厨客户端运行的日志/输出中得到“x 资源更新”。
如何在我的自定义资源中进行适当的保护?
更新:配方包含
powershell - chef 提高 powershell_script 性能
有没有办法让厨师重用 powershell 会话或至少减少新进程的启动时间?一次运行花费 2 秒执行使用 powershell 的 not_if 和 only_if 检查(即使 PS 代码本身是瞬时的)。改进这一点会很好。