พ่อครัว - การตั้งค่าเดี่ยว

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