Chef - Thiết lập khách hàng

Để làm cho nút Chef giao tiếp với máy chủ Chef, bạn cần thiết lập máy khách Chef trên nút.

Khách hàng đầu bếp

Đây là một trong những thành phần quan trọng của nút Chef, nó lấy các sách nấu ăn từ máy chủ Chef và thực thi chúng trên nút. Nó còn được gọi là Chef provisioner.

Ở đây, chúng ta sẽ sử dụng Vagrant để quản lý VM. Vagrant cũng có thể được cấu hình với trình điều khiển như Shell script, Chef và Puppet để đưa VM vào trạng thái mong muốn. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng Vagrant để quản lý các máy ảo bằng VirtualBox và ứng dụng khách Chef làm người cung cấp.

Step 1 - Tải xuống và cài đặt VirtualBox từ https://www.virtualbox.org/wiki/downlod

Step 2 - Tải xuống và cài đặt Vagrant tại http://downloads.vagrantup.com

Step 3 - Cài đặt plugin Vagrant Omnibus để cho phép Vagrant cài đặt ứng dụng khách Chef trên máy ảo.

$ vagrant plugin install vagrant-omnibus

Tạo và khởi động máy ảo

Step 1- Chúng tôi có thể tải xuống hộp Vagrant được yêu cầu từ repo Opscode vagrant. Tải xuống hộp opscode-ubuntu-12.04 từ URL sauhttps://opscode-vmbento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box

Step 2 - Sau khi bạn có tệp Vagrant, hãy tải xuống đường dẫn bạn cần để chỉnh sửa tệp 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

Trong chương trình trên, bạn cần cập nhật tên <YOUR_ORG> với tên tổ chức chính xác hoặc bắt buộc.

Step 3- Bước tiếp theo sau khi cấu hình là mở hộp vagrant. Đối với điều này, bạn cần phải di chuyển đến vị trí có hộp Vagrant và chạy lệnh sau.

$ vagrant up

Step 4 - Sau khi máy khởi động, bạn có thể đăng nhập vào máy bằng lệnh sau.

$ vagrant ssh

Trong lệnh trên, vagrantfile được viết bằng ngôn ngữ dành riêng cho miền Ruby (DSL) để định cấu hình máy ảo vagrant.

Trong tệp vagrant, chúng ta có đối tượng cấu hình. Vagrant sẽ sử dụng đối tượng cấu hình này để cấu hình máy ảo.

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

Bên trong khối cấu hình, bạn sẽ thông báo cho vagrant biết hình ảnh VM nào sẽ sử dụng để khởi động nút.

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

Trong bước tiếp theo, bạn sẽ yêu cầu Vagrant tải xuống plugin omnibus.

config.omnibus.chef_version = :latest

Sau khi chọn hộp VM để khởi động, hãy cấu hình cách cung cấp hộp bằng Chef.

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

Bên trong này, bạn cần thiết lập hướng dẫn về cách kết nối nút ảo với máy chủ Chef. Bạn cần cho Vagrant biết nơi bạn cần lưu trữ tất cả các công cụ Chef trên nút.

chef.provisioning_path = "/etc/chef"