在Redhat / Fedora上安装chef-solo的正确方法是什么?
我尝试按照opscode wiki上的说明操作,但在运行gem install chef --no-ri --no-rdoc
后,which chef-solo
和ls /usr/bin/chef*
显示没有安装任何内容。
[root@localhost ~]# gem install chef --no-ri --no-rdoc
Successfully installed chef-0.10.8
1 gem installed
[root@localhost ~]# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
答案 0 :(得分:7)
您可以使用gem env
查找将安装gem二进制文件的目录。例如,在我的主目录中安装了RVM的Mac OS X系统上:
% gem env | grep EXECUTABLE
- RUBY EXECUTABLE: /Users/jtimberman/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
- EXECUTABLE DIRECTORY: /Users/jtimberman/.rvm/gems/ruby-1.9.3-p0/bin
一般来说,使用RVM或类似的源代码编译策略部署需要很长时间,而这些工具使用的“shell魔法”会导致混淆。
尝试Omnibus-built Chef Full堆栈包。这里有说明:
基本上,你在Linux / Unix平台上这样做。
wget -O- https://opscode.com/chef/install.sh | sudo bash
install.sh只检查本地系统的平台和体系结构,并使用该信息在S3 bucket中为支持的平台的完整堆栈包组成目录的URL。
此安装包括平台的libc以上的所有内容,包括Ruby(1.9.2 +),RubyGems和其他各种库和工具。这意味着你仍然可以以你喜欢的方式安装Ruby(当然,通过使用菜谱)来安装基于Ruby的应用程序(如果有的话),而无需修改Chef所需的Ruby环境,并且你将拥有一个已知且经过充分测试的Ruby版本与Chef合作。
其他安装路径(RubyGems等)仍然可用,但这是迄今为止最不麻烦的,并且是在Opscode支持的任何平台上安装Chef的最佳支持方法。
此外,截至目前,版本0.10.10 +,chef-full bootstrap template将成为使用knife bootstrap
自动设置Chef客户端系统的用户的默认设置。
注意在撰写本文时,完整堆栈安装程序处于“beta”状态。它将保持此状态直到发布,这将与Chef 0.10.10版本的发布一致。它在安装页面上说它不受支持,但很快就会支持。
答案 1 :(得分:3)
安装ChefDK:
sudo rpm -Uvh https://packages.chef.io/files/stable/chefdk/2.5.3/el/7/chefdk-2.5.3-1.el7.x86_64.rpm
ChefDK也包含chef-solo
。
这里有一份完整的分步指南:http://codeflex.co/creating-and-running-your-first-chef-cookbook/
答案 2 :(得分:-1)
Scott Muc有一个很棒的bootstrap脚本/工具叫Gordon。它还包含一个例子。
可以在这里找到: https://github.com/scottmuc/gordon