พ่อครัว - การตั้งค่าลูกค้า

ในการทำให้โหนด Chef สื่อสารกับเซิร์ฟเวอร์ Chef คุณต้องตั้งค่าไคลเอนต์ Chef บนโหนด

ลูกค้าเชฟ

นี่เป็นหนึ่งในองค์ประกอบหลักของ Chef node ซึ่งดึงตำราอาหารจากเซิร์ฟเวอร์ Chef และดำเนินการในโหนด เป็นที่รู้จักกันในชื่อผู้จัดเตรียมเชฟ

ที่นี่เราจะใช้ Vagrant เพื่อจัดการ VM นอกจากนี้ Vagrant ยังสามารถกำหนดค่าด้วยตัวจัดเตรียมเช่น Shell script, Chef และ Puppet เพื่อให้ VM อยู่ในสถานะที่ต้องการ ในกรณีของเราเราจะใช้ Vagrant เพื่อจัดการ VM โดยใช้ VirtualBox และ Chef client เป็นตัวจัดเตรียม

Step 1 - ดาวน์โหลดและติดตั้ง VirtualBox จาก https://www.virtualbox.org/wiki/downlod

Step 2 - ดาวน์โหลดและติดตั้ง Vagrant ได้ที่ http://downloads.vagrantup.com

Step 3 - ติดตั้งปลั๊กอิน Vagrant Omnibus เพื่อให้ Vagrant ติดตั้งไคลเอนต์ Chef บน VM

$ vagrant plugin install vagrant-omnibus

การสร้างและบูตเครื่องเสมือน

Step 1- เราสามารถดาวน์โหลดกล่อง Vagrant ที่ต้องการได้จาก repo Opscode vagrant ดาวน์โหลดกล่อง opscode-ubuntu-12.04 จาก URL ต่อไปนี้https://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box

Step 2 - เมื่อคุณมีไฟล์ Vagrant แล้วให้ดาวน์โหลดเส้นทางที่คุณต้องการเพื่อแก้ไขไฟล์ Vagrant

vipin@laptop:~/chef-repo $ subl Vagrantfile 
Vagrant.configure("2") do |config| 
   config.vm.box = "opscode-ubuntu-12.04" 
   config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/ 
   vagrant/opscode_ubuntu-12.04_provisionerless.box 
   config.omnibus.chef_version = :latest  
   config.vm.provision :chef_client do |chef| 
      chef.provisioning_path = "/etc/chef" 
      chef.chef_server_url = "https://api.opscode.com/ 
      organizations/<YOUR_ORG>" 
      chef.validation_key_path = "/.chef/<YOUR_ORG>-validator.pem"
      chef.validation_client_name = "<YOUR_ORG>-validator" 
      chef.node_name = "server" 
   end 
end

ในโปรแกรมข้างต้นคุณต้องอัปเดตชื่อ <YOUR_ORG> ด้วยชื่อองค์กรที่ถูกต้องหรือจำเป็น

Step 3- ขั้นตอนต่อไปหลังจากการกำหนดค่าคือการเพิ่มกล่องพเนจร สำหรับสิ่งนี้คุณต้องย้ายไปยังตำแหน่งที่กล่อง Vagrant ตั้งอยู่และเรียกใช้คำสั่งต่อไปนี้

$ vagrant up

Step 4 - เมื่อเครื่องขึ้นคุณสามารถล็อกอินเข้าเครื่องโดยใช้คำสั่งต่อไปนี้

$ vagrant ssh

ในคำสั่งด้านบน vagrantfile เขียนด้วย Ruby Domain Specific Language (DSL) สำหรับกำหนดค่าเครื่องเสมือนคนจรจัด

ในไฟล์ vagrant เรามีวัตถุ config Vagrant จะใช้ออบเจ็กต์ config นี้เพื่อกำหนดค่า VM

Vagrant.configure("2") do |config| 
……. 
End

ภายในบล็อกการกำหนดค่าคุณจะบอกคนจรจัดว่าจะใช้อิมเมจ VM ใดเพื่อบูตโหนด

config.vm.box = "opscode-ubuntu-12.04" 
config.vm.box_url = https://opscode-vm-bento.s3.amazonaws.com/ 
   vagrant/opscode_ubuntu-12.04_provisionerless.box

ในขั้นตอนต่อไปคุณจะบอกให้ Vagrant ดาวน์โหลดปลั๊กอินของรถโดยสาร

config.omnibus.chef_version = :latest

หลังจากเลือกกล่อง VM เพื่อบูตให้กำหนดค่าวิธีการจัดเตรียมกล่องโดยใช้ Chef

config.vm.provision :chef_client do |chef| 
….. 
End

ภายในนี้คุณต้องตั้งค่าคำแนะนำเกี่ยวกับวิธีการเชื่อมต่อโหนดเสมือนเข้ากับเซิร์ฟเวอร์ Chef คุณต้องบอก Vagrant ว่าคุณต้องเก็บข้าวของ Chef ทั้งหมดไว้ที่ไหนในโหนด

chef.provisioning_path = "/etc/chef"