Centos 7安装与配置chef
背景:隨著DevOps 逐漸流行起來,越來越多的工作需要自動化處理,而chef就是其中一款能實(shí)現(xiàn)自動化管理的工具,掌握類似chef這樣的自動化工具,相信會使你在未來的競爭中更具優(yōu)勢。
俗話說“好記性不如爛筆頭”,以下記錄一來為了記憶,二來希望能幫到對chef有興趣的朋友們。
?
一、 簡介:chef總共分成三部分,分別為chef-server、workstation和node:
Server:維護(hù)一套配置腳本(cookbook),與每個(gè)被管節(jié)點(diǎn)(node)交互并給出配置指令。
Workstation:定義cookbook,并將cookbook上傳到chef server上,以保證被管節(jié)點(diǎn)能從chef server上取得最新的配置指令。
Node:被管節(jié)點(diǎn),可以是任何機(jī)器(包括物理機(jī)與虛擬機(jī)),chef node通過workstation從chef-server取得配置指令。
?
二、 配置環(huán)境
?
| 名稱 | 主機(jī)名 | IP | 系統(tǒng) | 內(nèi)存 |
| chef-server | server01.zun1.com | 172.16.1.201 | centos 7 | 1G |
| workstation | workstation.zun1.com | 172.16.1.202 | centos 7 | 1G |
| Node | node1.zun1.com | 172.16.1.203 | centos 7 | 1G |
?
三、chef-server的安裝
1、? 創(chuàng)建目錄并切換:
$ mkdir –p /home/zun1/soft && cd /home/zun1/soft?
2、? 配置ntp時(shí)間服務(wù)器:
$ vim /etc/chrony.conf //如無此文件,請安裝:yum install chronyd -y ---------------------------------------->server time.windows.com iburstserver s1b.time.edu.cn iburst $ sudo systemctl start chronyd$ sudo systemctl enable chronyd //查看是否生效:chronyc sources -v
?
3、? 將三臺主機(jī)名稱加入hosts
$ sudo vim /etc/hosts -------------------------------------------> 172.16.1.201 server01.zun1.com 172.16.1.202 workstation.zun1.com 172.16.1.203 node1.zun1.com //保存后用scp復(fù)制到另外兩臺電腦?
4、? 安裝chef-server
$ cd /home/zun1/soft $ wget https://packages.chef.io/files/stable/chef-server/12.15.8/el/7/chef-server-core-12.15.8-1.el7.x86_64.rpm $ sudo rpm –ivh chef-server-core-12.15.8-1.el7.x86_64.rpm $ sudo yum update –y $ sudo chef-server-ctl reconfigure?????? 驗(yàn)證方法:能正常打開https://172.16.1.201 就表示安裝成功了。
?
5、安裝chef管理控制臺
$ cd /home/zun1/soft $ wget https://packages.chef.io/files/stable/chef-manage/2.5.4/el/7/chef-manage-2.5.4-1.el7.x86_64.rpm $ sudo chef-server-ctl install chef-manage –path /home/jeff/soft/chef-manage-2.5.4-1.el7.x86_64.rpm $ sudo chef-server-ctl reconfigure $ sudo chef-manage-ctl reconfigure //接著按ESC,然后輸入yes確定接受協(xié)議后方能配置完成?
6、創(chuàng)建管理用戶
$ sudo chef-server-ctl user-create jeff jeff lee 8888888@qq.com 123456 --filename /root/.chef/jeff.pem //第一個(gè)jeff為登錄用戶,密碼為:123456?
7、? 打開頁面登錄:https://172.16.1.201 ,登錄用戶:jeff,密碼:123456,然后創(chuàng)建組織zun1.com,簡稱zun1。
?
四、workstation的安裝
1、? 安裝chefdk
$ cd /home/zun1/soft $ wget https://packages.chef.io/files/stable/chefdk/2.0.28/el/7/chefdk-2.0.28-1.el7.x86_64.rpm $ sudo rpm –ivh chefdk-2.0.28-1.el7.x86_64.rpm?
2、? 配置NTP時(shí)間服務(wù)器,配置方法同上,此處不再贅述。
?
3、? 配置環(huán)境變量:
$ echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile $ source ~/.bash_profile $ which ruby //驗(yàn)證安裝結(jié)果 -------------------------------------> /opt/chefdk/embedded/bin/ruby //證明安裝成功?
4、? 下載chef-starter.zip的方法:進(jìn)入chef-server管理頁面后:Administrator -> Starter Kit -> Download Start Kit,如下圖:
?
5、? 復(fù)制到/data/下,并更名
$ sudo mkdir –p /data && cd /data/ $ unzip /home/zun1/chef-starter.zip /home/zun1 $ mv /home/zun1/chef-starter /home/zun1/chef-repo?
6、? 進(jìn)行/data/chef-repo下驗(yàn)證安裝結(jié)果,沒報(bào)錯(cuò)則證明安裝成功
$ cd /data/chef-repo $ knife ssl fetch $ knife ssl check $ knife nod list?
五、Node的安裝:node的安裝跟workstation一樣,都是安裝chefdk
1、安裝chefdk
$ cd /home/zun1/soft $ sudo rpm –ivh chefdk-2.0.28-1.el7.x86_64.rpm //將workstation的文件復(fù)制過來 $ echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile $ source ~/.bash_profile?
2、配置NTP時(shí)間,同上。
?
3、添加節(jié)點(diǎn)到服務(wù)器:
$ cd /data/chef-repo $ knife bootstrap 172.16.1.203 --ssh-user root --ssh-password redhat --node-name node1.zun1.com?
4、進(jìn)入登錄界面查看節(jié)點(diǎn):http://172.16.1.201
?
六、測試:給node安裝apache,并創(chuàng)建一個(gè)主頁
1、下載cookbook
$ knife cookbook site download learn_chef_httpd?
2、? 解壓
$ tar zxvf learn_chef_httpd.tar.gz?
3、? 移動到對應(yīng)的目錄
$ mv learn_chef_httpd /data/chef-repo/cookbooks/?
4、? 上傳到chef-server
$ knife cookbook upload learn_chef_httpd?
5、? 將cookbook加入runlist
$ knife bootstrap 172.16.1.203 --ssh-user root --ssh-password ‘redhat’ \--sudo --use-sudo-password --node-name node1.zun1.com \--run-list ‘recipe[learn_chef_httpd]’?
6、? 打開鏈接驗(yàn)證:http://172.16.1.203
?
7、下圖為chef-server后臺界面
?
注意事項(xiàng):新節(jié)點(diǎn)如果添加不進(jìn)去,請注意排查以下幾個(gè)問題
1、時(shí)間同步;
2、hosts文件需添加對應(yīng)的IP+主機(jī)名稱;
3、selinux
?
PS:此配置參考自 ?https://wenku.baidu.com/view/7d297631657d27284b73f242336c1eb91a3733ea.html
轉(zhuǎn)載于:https://www.cnblogs.com/jefflee168/p/7269831.html
總結(jié)
以上是生活随笔為你收集整理的Centos 7安装与配置chef的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Round #30
- 下一篇: [linux][MongoDB] mon