Articles of 厨师

厨师安装依赖关系的本地apt_package

我尝试在服务器上安装我的本地烘焙软件包: cookbook_file '/var/cache/apt/archives/nfdhcpd_0.20_all.deb' do source 'nfdhcpd_0.20_all.deb' owner 'root' group 'root' mode '0755' action :create end package 'nfdhcpd_0.20_all.deb' do provider Chef::Provider::Package::Dpkg source "/var/cache/apt/archives/nfdhcpd_0.20_all.deb" action :install end 我需要使用dpkg provider因为apt provider不支持本地程序包( apt package provider cannot handle source attribute. Use dpkg provider instead )。 我有一个错误(错过了deps): STDERR: dpkg: dependency problems prevent configuration of nfdhcpd: nfdhcpd depends on python-scapy (>= 2.0.1-1); […]

与厨师testing厨房SSH硬化。 如何告诉testing厨房如何连接?

我写了一个厨师食谱,并与testing厨房运行良好。 现在我想通过编写覆盖/ etc / ssh / sshd_config的配方来加强对生产节点的ssh访问。 除此之外,它将ssh端口更改为非默认端口。 当“厨房聚合”后,现在运行“厨房login”,它会失败,因为它不能连接到默认端口。 有没有办法configurationtesting厨房与不同的SSH端口? 还是有不同的方式来做到这一点? 我能否确认配方是否在testing厨房中运行,并且只能在生产环境中更改ssh端口?

从厨师更改registry项的权限

我试图自动化Jenkins Windows从站安装,我需要更改所有者和一些密钥的权限,以允许pipe理员用户对某些密钥进行读/写访问。 有关详细信息,请参阅Jenkins文档 。 我find了registry_key资源,但没有提到如何调整registry项的实际权限。 我不需要创build/读取/更新或删除键 – 只需调整权限。 厨师有没有办法做到这一点? 或者,如果没有,有没有办法通过Powershell脚本来做到这一点?

如何运行一个厨师食谱?

使用Ansible和Puppet安装软件是可能的,通过从galaxy或puppetforge下载一个angular色并运行它无主。 目标 目标是安装MongoDB使用主厨无主。 我只想下载一本食谱并运行它。 尝试 knife cookbook site download mongodb3保存在/ knife cookbook site download mongodb3 焦油被提取 基于这个文档,我尝试使用chef-client –local -o recipe['mongodb3']来运行食谱,但是它导致: [2016-11-18T10:35:28+01:00] WARN: No config file found or specified on command line, using command line options. [2016-11-18T10:35:28+01:00] WARN: No cookbooks directory found at or above current directory. Assuming /home/user. Starting Chef Client, version 12.15.19 [2016-11-18T10:36:05+01:00] WARN: […]

厨师私钥无法从/user.pem加载

我刚刚在Chef的网站上完成了安装厨师服务器教程,使用我的厨师服务器(t2.medium Ubuntu 16.04 AMI)的ec2实例,以及运行Ubuntu 16.04的我的工作站的笔记本电脑。 看来,我成功地成立了一个厨师工作站和厨师服务器。 但是,我的'user.pem'键没有被定位。 这是市集,因为我的厨师钥匙已经成功地从我的厨师服务器拉到我的厨师工作站使用'scp'。 我可以在我的工作站的厨师回购目录中看到他们。 任何人都可以帮忙弄清楚为什么我的Pem键没有被find? 从我的厨师工作站: ~/chef-repo/ 我运行: knife ssl fetch 我得到: WARNING: Certificates from ec2-XX-XX-XXX-XXX.us-west-1.compute.amazonaws.com will be fetched and placed in your trusted_cert directory (/home/user/chef-repo/.chef/trusted_certs). Knife has no means to verify these are the correct certificates. You should verify the authenticity of these certificates after downloading. Adding certificate for […]

如何在厨师的Linux上创build一个后台服务?

我有一个Python脚本,我在ubuntu主机上使用screen执行,我想用一个Chef食谱把它变成适当的后台服务。 python脚本启动一个SMTP服务器,丢弃所有的电子邮件(一个“黑洞”服务器,用于testing),然后调用python的asyncore.loop()永远运行。 我怎么把这变成一个厨师的食谱? 我正在使用cookbook_file资源上传我的Python脚本,我知道我需要使用service 资源来启动服务,但是我不确定如何实际创build服务。 我需要写一个文件到/etc/init.d或/etc/systemd来在操作系统级创build服务,或者是否有一些我可以调用的Chef recipe / resource来为我创build一个后台服务,给定的命令? 我使用的厨师11.18.12 ,不能升级,所以这就排除了一些食谱(如runit ),需要12+。 主机操作系统是Ubuntu 14.04.3 。 这是迄今为止我所得到的: include_recipe 'apt' include_recipe 'python' # the python script to run as a background service cookbook_file '/usr/local/bin/smtp_server_blackhole.py' do source 'smtp_blackhole_server.py' owner 'root' group 'root' mode '0755' end # the init.d file which defines the service? Not sure about this part… […]

无法使用主厨服务器创buildpipe理员用户?

我想在Centos 7上configurationchef-server,我安装了chef-server-core,然后我把这一行添加到/ etc / hosts 192.168.0.4 chef.example.com 然后我把这个命令: chef-server-ctl reconfigure 除了当我尝试用这个命令创build一个用户时,一切都可以: chef-server-ctl user-create admin admin admin admin@chef secret -f admin.pem 我得到这个消息: ERROR: Error connecting to https://127.0.0.1/users/, retry 1/5 我做了很多谷歌和所有解决schemebuild议更改/ etc / hosts中的主机名,但不能在我的机器上工作。 任何帮助!

Windows端口将无法在Google计算引擎中打开

我在networkingconfiguration中在GCE udp:5585;tcp:5585中添加了防火墙规则。 我还在Windows中添加了一个inbound rule ,以接受端口5585上的udp和tcp连接。我试图为Chef设置这个。 但是,当试图telnet时, 我得到一个连接拒绝错误。 我运行netstat -a在远程虚拟机上的powershell,我没有看到端口。 我没有select。 可能是什么问题?

错误:指定的configuration文件/etc/opscode/pivotal.rb不存在

尝试安装Chef时,我总是收到以下内容: [root@COMMAND ~]# chef-server-ctl org-create chef "Chef Software, Inc." -f /tmp/chef.key ERROR: Specified config file /etc/opscode/pivotal.rb does not exist! 我正在遵循这个指南: https://docs.chef.io/install_dk.html 我在哪里试图设置厨师服务器错了? 我search并尝试了重新configuration和其他选项。 这是一个CentOS 7机器虚拟机,作为一个容器在proxmox与512MB RAM,如果这意味着任何东西。 我已经安装了12.03版,正如人们所说的那样,为Chef Server和最新版本工作,但是当试图通过指南安装Chef Server时,我仍然得到相同的结果。 编辑:重buildVM几次,并将RAM设置为2GB相同的结果。 设置一个中央厨师服务器将pipe理命令从其他服务器发送出去总是很难吗?

我如何自动创buildGPOclosures脚本?

我正在pipe理未连接到域的AWS ASG中的Windows VM。 我想在关机时运行一个脚本( 而不是注销),以从Chef中删除这些节点,并且我想用Chef创build/注册脚本。 我准备好了删除脚本,它让他们在关机时运行,我无法find一个实现。 我可以通过gpedit.msc手动执行本地计算机策略 – >计算机configuration – > Windows设置 – >脚本(开始/closures) – >关机。 这将脚本放置在C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown 。 不幸: 它看起来像脚本目录只在gpedit.msc第一次运行时被创build,并且不清楚手动创build它们是否有效 只要在那里放置脚本本身就不会注册它们 – 它们不会显示在gpedit.msc中 放置脚本并运行gpupdate /force (如这里所build议的)也不会导致它显示在gpedit中,尽pipegpupdate确实表示重启可能需要进行一些更改 – 这不是一个选项,因为在ASG中重启导致实例终止和replace 我知道可能使用任务计划程序在关机时运行脚本,但是(至less从我的研究来看),似乎关键的区别在于,任务计划程序closures脚本只有运行系统所需的时间closures,而GPOclosures脚本将推迟closures,直到完成。 所以,问题是:是否有一种方法,通过厨师(即通过PowerShell,DSC或批处理脚本)在不连接到AD的计算机上注册GPOclosures脚本而无需重新启动?