Chef - Thiết lập một mình
Chef-Solo là một công cụ mã nguồn mở chạy cục bộ và cho phép cung cấp cho các máy khách sử dụng sách nấu ăn Chef mà không có bất kỳ cấu hình máy khách và máy chủ Chef nào phức tạp. Nó giúp thực thi sách nấu ăn trên một máy chủ tự tạo.
Trước khi chạy Chef-Solo trên máy cục bộ, người ta cần cài đặt hai tệp sau trên máy cục bộ.
Solo.rb - Tệp này cho Chef biết nơi tìm sách nấu ăn, vai trò và túi dữ liệu.
Node.json - Tệp này đặt danh sách chạy và bất kỳ thuộc tính cụ thể cho nút nào, nếu được yêu cầu.
Cấu hình solo.rb
Sau đây là các bước để cấu hình solo.rb.
Step 1 - Tạo tệp solo.rb bên trong repo đầu bếp.
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 - Thêm tập tin vào git repo.
$ git add solo.rb
Step 3 - Tạo tệp node.json bên trong Chef repo với nội dung sau.
{
"run_list": [ "recipe[ntp]" ]
}
Step 4 - Nhận sách nấu ăn ntp bên trong repo đầu bếp bằng cách sử dụng dao.
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 - Thêm tệp node.json vào Git.
$ git add node.json
Step 6 - Cam kết và đẩy các tập tin sang git 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
Chạy Cookbook trên Node
Step 1 - Đăng nhập vào nút mà người ta muốn cung cấp Chef-Solo.
Step 2 - Sao chép repo Chef trên máy.
$ git clone $URL_PATH
Step 3 - cd cho repo đầu bếp.
$ cd chef-repo
Cuối cùng, chạy Chef-Solo để hội tụ nút -
$ 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 cấu hình Chef-Solo để tìm kiếm sách nấu ăn, vai trò và túi dữ liệu của nó bên trong thư mục hiện tại: kho lưu trữ Chef.
Chef-Sololấy cấu hình nút của nó từ tệp JSON. Trong ví dụ của chúng tôi, chúng tôi gọi nó là node.json. Nếu bạn định quản lý nhiều máy chủ, bạn sẽ cần một tệp riêng cho mỗi nút. Sau đó, Chef-Solo chỉ thực hiện Chef run dựa trên dữ liệu cấu hình được tìm thấy trong solo.rb và node.json.