พ่อครัว - การตั้งค่าเดี่ยว
Chef-Solo เป็นเครื่องมือโอเพ่นซอร์สที่ทำงานในพื้นที่และอนุญาตให้จัดเตรียมเครื่องแขกโดยใช้ตำราอาหารของเชฟโดยไม่ต้องมีความซับซ้อนของไคลเอนต์เชฟและการกำหนดค่าเซิร์ฟเวอร์ ช่วยในการดำเนินการตำราอาหารบนเซิร์ฟเวอร์ที่สร้างขึ้นเอง
ก่อนที่จะรัน Chef-Solo บนเครื่องโลคัลคุณต้องติดตั้งไฟล์สองไฟล์ต่อไปนี้บนเครื่องโลคัล
Solo.rb - ไฟล์นี้จะบอกเชฟเกี่ยวกับตำแหน่งที่จะหาตำราอาหารบทบาทและถุงข้อมูล
Node.json - ไฟล์นี้ตั้งค่ารายการเรียกใช้และแอตทริบิวต์เฉพาะโหนดหากจำเป็น
การกำหนดค่า solo.rb
ต่อไปนี้เป็นขั้นตอนในการกำหนดค่า solo.rb
Step 1 - สร้างไฟล์ solo.rb ภายใน repo chef
current_dir = File.expand_path(File.dirname(__FILE__))
file_cache_path "#{current_dir}"
cookbook_path "#{current_dir}/cookbooks"
role_path "#{current_dir}/roles"
data_bag_path "#{current_dir}/data_bags"
Step 2 - เพิ่มไฟล์ใน git repo
$ git add solo.rb
Step 3 - สร้างไฟล์ node.json ภายใน repo chef ด้วยเนื้อหาต่อไปนี้
{
"run_list": [ "recipe[ntp]" ]
}
Step 4 - รับตำรา ntp ภายใน repo เชฟโดยใช้มีด
vipin@laptop:~/chef-repo $ knife cookbook site install ntp
Installing ntp to /Users/mma/work/chef-repo/cookbooks
…TRUNCATED OUTPUT…
Cookbook ntp version 1.3.0 successfully installed
Step 5 - เพิ่มไฟล์ node.json ใน Git
$ git add node.json
Step 6 - คอมมิตและพุชไฟล์เพื่อคอมไพล์ repo
vipin@laptop:~/chef-repo $ git commit -m "initial setup for Chef Solo"
vipin@laptop:~/chef-repo $ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
...TRUNCATED OUTPUT...
To [email protected]:mmarschall/chef-repo.git
b930647..5bcfab6 master -> master
เรียกใช้ตำราอาหารบนโหนด
Step 1 - ล็อกอินเข้าสู่โหนดที่ต้องการจัดเตรียม Chef-Solo
Step 2 - โคลน repo เชฟบนเครื่อง
$ git clone $URL_PATH
Step 3 - cd ถึง repo เชฟ
$ cd chef-repo
สุดท้ายเรียกใช้ Chef-Solo เพื่อรวมโหนด -
$ sudo chef-solo -c solo.rb -j node.json
[2017-20-08T22:54:13+01:00] INFO: *** Chef 11.0.0 ***
[2017-20-08T22:54:13+01:00] INFO: Setting the run_list to
["recipe[ntp]"] from JSON
...TRUNCATED OUTPUT...
[2012-12-08T22:54:16+01:00] INFO: Chef Run complete in 2.388374
seconds
[2012-12-08T22:54:16+01:00] INFO: Running report handlers
solo.rb กำหนดค่า Chef-Solo เพื่อค้นหาตำราอาหารบทบาทและถุงข้อมูลภายในไดเร็กทอรีปัจจุบัน: ที่เก็บ Chef
Chef-Soloรับการกำหนดค่าโหนดจากไฟล์ JSON ในตัวอย่างของเราเราเรียกมันว่า node.json หากคุณจะจัดการเซิร์ฟเวอร์หลายเครื่องคุณจะต้องมีไฟล์แยกกันสำหรับแต่ละโหนด จากนั้น Chef-Solo จะดำเนินการรัน Chef ตามข้อมูลการกำหนดค่าที่พบใน solo.rb และ node.json