Chef - Ruby Gems with Recipes
Công thức nấu ăn là nền tảng chính của sách dạy nấu ăn, về cơ bản là mã Ruby. Có thể sử dụng tất cả các tính năng của ngôn ngữ Ruby bên trong công thức Chef. Hầu hết thời gian Ruby xây dựng trong chức năng là đủ nhưng đôi khi người ta có thể cần sử dụng thêm các viên đá quý Ruby. Ví dụ, nếu một người cần truy cập cơ sở dữ liệu MySQL từ chính công thức.
Công thức đầu bếp có khả năng nhận được những viên ngọc Ruby cần thiết để sử dụng chúng trong cùng một công thức.
Sử dụng Đá quý iptable trong Công thức Đưa ra
Step 1 - Chỉnh sửa công thức mặc định của sách nấu ăn và cài đặt đá quý để sử dụng bên trong công thức.
vipin@laptop:~/chef-repo $ subl
cookbooks/my_cookbook/recipes/default.rb
chef_gem 'ipaddress'
require 'ipaddress'
ip = IPAddress("192.168.0.1/24")
Chef::Log.info("Netmask of #{ip}: #{ip.netmask}")
Step 2 - Tải sách nấu ăn đã sửa đổi lên máy chủ Chef.
vipin@laptop:~/chef-repo $ knife cookbook upload my_cookbook
Uploading my_cookbook [0.1.0]
Step 3 - Chạy máy khách Chef để xem kết quả đầu ra.
user@server $ sudo chef-client
...TRUNCATED OUTPUT...
[2013-01-18T14:02:02+00:00] INFO: Netmask of 192.168.0.1:
255.255.255.0
...TRUNCATED OUTPUT...
Phương pháp làm việc
Các bước chạy Chef bao gồm giai đoạn biên dịch, nơi nó biên dịch tất cả các tài nguyên và một giai đoạn thực thi trong đó Chef chạy các nhà cung cấp tài nguyên để hội tụ nút về trạng thái mong muốn. Nếu một người cần bất kỳ viên ngọc Ruby cụ thể nào bên trong sách dạy nấu ăn, người ta cần cài đặt viên đá quý đó trong giai đoạn phức tạp.
Tài nguyên Chef_gem sẽ thực hiện tương tự và trong Chef, Omnibus là cách duy nhất để hoạt động. Chức năng chính của nó là làm cho đá quý có sẵn cho chính Chef.