Centos下chef安装、部署
?
環境準備
1. 安裝Centos的linux環境三個(server、workstation、client);注意配置環境hostname為FQDN格式,形如xxx.com(/etc/sysconfig/network)。
2.?https://www.opscode.com/chef/install/下載chef 對應的client、server rpm安裝包。
3. 將server rpm包上傳到server、workstation,client包上傳到workstation。
配置server
1. Rpm命令安裝 rpm –ivh chef-server-11.0.8-1.el6.x86_64.rpm。
2. ?運行配置命令,sudo chef-server-ctl reconfigure。該命令將安裝所有需要的組件,包括Erchef, RabbitMQ, PostgreSQL, cookbooks。
3. 運行sudo chef-server-ctl test命令,檢查server是否安裝完成。
4. 運行service iptables stop關閉防火墻。
設置workstation
安裝client
Rpm命令安裝 rpm –ivh chef-11.8.0-1.el6.x86_64.rpm。
使用chef-client –v命令查看是否安裝成功。
如果命令行顯示Chef: 11.8.0,安裝成功。
2.?$ git clone git://github.com/opscode/chef-repo.git命令將chef-repo克隆到本地,成功后的目錄結構為chef-repo/
certificates/
config/
cookboos/
data_bags/
environments/
roles/
? ??3. 執行sudo mkdir –p ~/chef-repo/.chef命令創建.chef文件(用于存放knife.rb、ORGANIZATION-validator.pem、USER.pem)。
4. 執行cat .gitignore .chef(將.chef文件加入到.gitignore中,防止將改文件提交到github)。
5. 將server /etc/chef-server下的admin.pem、xx-validator.pem復制到workstation。
6. 運行knife?configure?--initial命令生成knife.rb、USER.pem、validator.pem文件(server url指定為https://server-ip:443),pem文件位置為上步驟中路徑。
7. 添加ruby到環境變量
echo 'export PATH="/opt/chef/embedded/bin:$PATH"' >> ~/.configuration_file && source ~/.configuration_file
echo 'export PATH="/opt/chef/embedded/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
8. 運行knife client list和knife user list查看client、user是否注冊成功。
9. 運行service iptables stop 關閉防火墻。
配置cookbook(workstation中操作)
1. 下載(當然可以自己創建)cookbook(本文以mysql為例,由于mysql依賴于openssl、build_essential,同時需要下載這兩個cookbook)。
2. 執行命令knife cookbook upload [cookbook-name] -o [cookbook-path],先后上傳openssl、build_essential、mysql到服務器(需要在/etc/hosts下添加一條服務器的ip-hostname記錄,如:20.1.203.50 chef-server.com)。
創建node(workstation中操作,centos舉例)
創建一臺centos環境虛擬機或者物理機,關閉防火墻,/etc/hosts添加一條server的地址解析,如:20.1.203.50 chef-server.com)。
執行命令knife bootstrap 20.1.214.202(client ip) –ssh-user root(username) –ssh-password 123.com –ssh-port 22 –run-list “recipe[mysql],recipe[nginx]” –sudo創建node,并在node上安裝mysql,nginx(centos)。
假如無法接入Internet須執行以下步驟。
在目標node上配置本地yum源(linux)。
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/knife/bootstrap(修改當前路徑下chef-full.erb下載腳本路徑,以及涉及的install.sh)。
幫助
https://server-ip/ 圖形化管理界面。
http://docs.opscode.com/essentials_cookbooks.html(官方cookbooks)
3. https://learnchef.opscode.com/starter-use-cases/ntp/(如何創建自己的ntp cookbook)
4. https://learnchef.opscode.com/quickstart/workstation-setup/#linux(quick start)。
轉載于:https://www.cnblogs.com/nakedou/p/3449024.html
總結
以上是生活随笔為你收集整理的Centos下chef安装、部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实用ExtJS教程100例-002:Me
- 下一篇: 网络资源汇总