Chef - Permata Ruby dengan Resep

Resep adalah blok bangunan utama buku masak yang pada dasarnya adalah kode Ruby. Dimungkinkan untuk menggunakan semua fitur bahasa Ruby di dalam resep Chef. Sebagian besar waktu fungsi Ruby build sudah cukup tetapi terkadang seseorang mungkin perlu menggunakan permata Ruby tambahan. Misalnya, jika seseorang perlu mengakses database MySQL dari resepnya sendiri.

Resep koki memiliki kemampuan untuk mendapatkan permata Ruby yang dibutuhkan untuk menggunakannya di dalam resep yang sama.

Menggunakan Permata iptable dalam Resep yang Diberikan

Step 1 - Edit resep default buku resep dan pasang permata yang akan digunakan di dalam resep.

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 - Unggah buku masak yang dimodifikasi ke server Chef.

vipin@laptop:~/chef-repo $ knife cookbook upload my_cookbook 
Uploading my_cookbook [0.1.0]

Step 3 - Menjalankan klien Chef untuk melihat hasilnya.

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...

Metode Kerja

Langkah-langkah yang dijalankan Chef terdiri dari fase kompilasi, yang mengumpulkan semua sumber daya dan fase eksekusi di mana Chef menjalankan penyedia sumber daya untuk menyatukan node ke keadaan yang diinginkan. Jika seseorang membutuhkan permata Ruby tertentu di dalam buku resep, ia perlu menginstal permata tersebut selama fase komplikasi.

Resource chef_gem akan melakukan hal yang sama, dan di Chef, Omnibus adalah satu-satunya cara untuk bekerja. Fungsi utamanya adalah menyediakan permata untuk Chef itu sendiri.