Cách cài đặt và cấu hình Chef trên Ubuntu 17.04

theanh

Administrator
Nhân viên
Chef là một công cụ quản lý cấu hình mã nguồn mở và miễn phí. Nó được viết bằng Ruby và Erlang. Chef có thể dễ dàng tích hợp với các nền tảng đám mây như AWS, OpenStack hoặc RackSpace, v.v. để tự động tạo và quản lý máy chủ. Khi một tổ chức phát triển và số lượng nút tăng lên, quản trị viên hệ thống sẽ khó có thể tự mình quản lý từng nút. Trong trường hợp này, Chef sẽ đến để giải cứu. Hệ sinh thái Chef bao gồm ba phần, máy chủ Chef, máy trạm Chef và các nút Chef.Công cụ DevOps này cho phép quản trị viên hệ thống quản lý nhiều nút từ một vị trí trung tâm.

Trong hướng dẫn này, chúng ta sẽ cài đặt phiên bản Chef mới nhất trong Ubuntu 17.04 (Zesty Zapus).

Điều kiện tiên quyết
  • Máy chủ Ubuntu 17.04 tối thiểu.
  • Quyền root. Hướng dẫn này được viết dưới dạng người dùng root, nếu bạn đăng nhập dưới dạng người dùng sudo, hãy chạy sudo -i.
  • một tên miền trỏ đến máy chủ của bạn.

Cập nhật Hệ thống Cơ sở​

Trước khi cài đặt bất kỳ gói nào, bạn nên cập nhật các gói và kho lưu trữ bằng lệnh sau.
Mã:
apt update && apt -y upgrade
Sau khi hệ thống của bạn được cập nhật, hãy tiến hành thêm.

Cập nhật Tên máy chủ​

Chef yêu cầu một tên máy chủ có thể phân giải được được đặt trên máy chủ. Tên máy chủ phải là FQDN hoặc Tên miền đủ điều kiện đầy đủ, ví dụ: chef.yourdomain.com. Để thiết lập tên máy chủ trên máy chủ của bạn, hãy chạy lệnh sau.
Mã:
hostname 'chef.yourdomain.com'
Thay thế chef.yourdomain.com bằng tên miền thực tế của bạn. Ngoài ra, hãy cập nhật tên máy chủ trong tệp /etc/hostname.
Mã:
echo "chef.yourdomain.com" | tee /etc/hostname
Thêm địa chỉ IP của tên máy chủ của bạn vào tệp /etc/hosts bằng cách chạy lệnh sau.
Mã:
echo "192.168.1.1 chef.yourdomain.com" >> /etc/hosts
Thay thế 192.168.1.1 bằng địa chỉ IP công khai thực tế của bạn.

Thiết lập NTP​

NTP của máy chủ Network Time Protocol là bắt buộc để đồng bộ hóa đồng hồ của máy chủ. Chef yêu cầu hệ thống mà nó được kết nối chạy NTP vì nó rất nhạy cảm với những thay đổi về đồng hồ. NTP chạy trên cổng 123 trên UDP. Để cài đặt NTP trên máy chủ của bạn, hãy chạy lệnh sau.
Mã:
apt install ntp
Khởi động NTP bằng cách chạy lệnh sau.
Mã:
systemctl start ntp
Để cho phép NTP tự động khởi động khi khởi động, hãy chạy lệnh sau.
Mã:
systemctl enable ntp
Bạn có thể xác minh xem NTP đã đồng bộ hóa đồng hồ hay chưa bằng cách chạy lệnh sau.
Mã:
ntpq -p
Bạn sẽ thấy đầu ra sau:
Mã:
root@chef:~# ntpq -p remote refid st t when poll reach delay offset rung= ... 16 trang - 64 0 0,000 0,000 0,000 ntp.ubuntu.com .POOL. 16 p - 64 0 0,000 0,000 0,000#hydrogen.consta 129.6.15.29 2 u 34 64 17 174.427 -9.145 0,751#helium.constant 128.59.0.245 2 u 30 64 17 176.812 -8.253 0,726#lithium.constan 18.26.4.105 2 u 33 64 17 175.435 0,357 0,684#ntppublic.uzh.c 130.60.159.8 3 u 24 64 17 256.712 8,982 0,927+x.ns.gin.ntt.ne 249.224.99.213 2 u 25 64 17 0.872 -1.636 0.805-borris.netwurx. 144.92.9.22 2 u 22 64 17 163.284 0.848 1.141-ns1.do.steersne 195.66.241.3 2 u 23 64 17 222.882 -3.528 0.965-sircabirus.von- 36.224.68.195 2 u 28 64 17 266.005 3.502 1.173*chobi.paina.net 131.113.192.40 2 u 26 64 17 1.280 -1.852 1.046#213.251.53.11 193.62.22.74 2 u 27 64 17 246.940 9.920 1.405-flightplandatab 210.240.96.206 2 u 27 64 17 258.052 -1.338 2.789-time.platformni 118.211.218.186 2 u 27 64 17 1.592 3.394 1.127

Tải xuống và cài đặt Chef​

Tải xuống gói Chef Server cho Ubuntu bằng cách chạy lệnh sau.
Mã:
wget https://packages.chef.io/files/stable/chef-server/12.15.8/ubuntu/16.04/chef-server-core_12.15.8-1_amd64.deb
Bạn luôn có thể tìm thấy liên kết đến phiên bản mới nhất của Chef bằng cách truy cập Trang tải xuống Chef. Bây giờ, hãy cài đặt gói bằng cách chạy lệnh sau.
Mã:
dpkg -i chef-server-*.deb
Chef hiện đã được cài đặt trên hệ thống của bạn. Bạn sẽ cần cấu hình máy chủ trước khi sử dụng.

Cấu hình Chef​

Bây giờ bạn có thể chạy lệnh sau để khởi động tất cả các dịch vụ yêu cầu Chef hoạt động.
Mã:
chef-server-ctl reconfigure
Lệnh trên sẽ mất vài phút để hoàn tất vì nó cài đặt và cấu hình tất cả các thành phần của máy chủ chef. Sau khi hoàn tất thành công, bạn sẽ nhận được thông báo sau ở cuối.
Mã:
Chef Client đã hoàn tất, 491/1096 tài nguyên đã cập nhật trong 03 phút 13 giâyChef Server đã cấu hình lại!
Bạn có thể kiểm tra xem các dịch vụ đã khởi động thành công hay chưa bằng cách chạy:
Mã:
chef-server-ctl status
Bạn sẽ thấy đầu ra sau.
Mã:
root@chef:~# chef-server-ctl statusrun: bookshelf: (pid 6030) 87 giây; run: log: (pid 6047) 86 giâyrun: nginx: (pid 5859) 91 giây; chạy: log: (pid 6387) 82 giâychạy: oc_bifrost: (pid 5766) 92 giây; chạy: log: (pid 5842) 92 giâychạy: oc_id: (pid 5849) 91 giây; chạy: log: (pid 5854) 91 giâychạy: opscode-erchef: (pid 6244) 84 giây; chạy: log: (pid 6108) 85 giâychạy: opscode-expander: (pid 5926) 88 giây; chạy: log: (pid 6010) 87 giâychạy: opscode-solr4: (pid 5895) 89 giây; chạy: log: (pid 5912) 89 giâychạy: postgresql: (pid 5718) 93 giây; chạy: log: (pid 5745) 92 giâychạy: rabbitmq: (pid 5239) 101 giây; chạy: log: (pid 5099) 105 giâychạy: redis_lb: (pid 5036) 121 giây; chạy: log: (pid 6361) 83 giây

Cài đặt Web Management Console​

Chef cung cấp giao diện người dùng đồ họa dựa trên web cho máy chủ Chef của quản trị viên. Bạn có thể sử dụng bảng điều khiển dựa trên GUI để quản lý túi dữ liệu, thuộc tính, danh sách chạy, vai trò, môi trường và sổ tay hướng dẫn.

Để cài đặt Chef Manage, hãy chạy lệnh sau:
Mã:
chef-server-ctl install chef-manage
Cấu hình lại máy chủ Chef bằng cách nhập:
Mã:
chef-server-ctl reconfigure
Cuối cùng, hãy cấu hình Chef Manage bằng cách chạy lệnh sau.
Mã:
chef-manage-ctl reconfigure
Lệnh trên sẽ yêu cầu bạn chấp nhận thỏa thuận cấp phép. Bạn có thể chọn chấp nhận thỏa thuận cấp phép trong khi chạy hoặc chỉ cần chạy lệnh sau để tự động chấp nhận giấy phép.
Mã:
chef-manage-ctl reconfigure --accept-license

Tạo Quản trị viên và Tổ chức​

Trước khi bạn có thể đăng nhập và sử dụng bảng điều khiển quản trị, bạn sẽ cần tạo người dùng và tổ chức. Trong quá trình tạo người dùng và tổ chức, nó sẽ tự động tạo khóa riêng RSA cần thiết để kết nối với máy trạm và máy khách. Bạn có thể tạo thư mục .chef mới để lưu trữ các khóa. Chạy lệnh để tạo thư mục mới lưu trữ khóa riêng.
Mã:
mkdir ~/.chef
Bây giờ hãy tạo một quản trị viên mới bằng cách chạy lệnh sau.
Mã:
chef-server-ctl user-create admin Chef Administrator [emailprotected] StrongPassword -f ~/.chef/admin.pem
Thay thế admin bằng tên người dùng bạn muốn, Chef bằng tên và Administrator bằng họ, [emailprotected] bằng email của bạn và admin.pem phải theo tên người dùng của bạn. Thay thế StrongPassword bằng một mật khẩu rất mạnh.

Bây giờ hãy tạo một tổ chức mới bằng cách chạy lệnh sau.
Mã:
chef-server-ctl org-create my_org 'My Organization' --association_user admin -f ~/.chef/my_org.pem
Thay thế my_org bằng tên viết tắt của tổ chức bạn, My Organization bằng tên đầy đủ của tổ chức bạn và admin bằng người dùng quản trị mà bạn đã tạo.

Truy cập Bảng điều khiển web​

Bây giờ mọi thứ cần thiết để truy cập bảng điều khiển web đã được cài đặt và định cấu hình, bạn có thể truy cập bảng điều khiển bằng cách duyệt URL sau thông qua trình duyệt yêu thích của mình.
Mã:
http://Your-Server-IP
Bạn cũng có thể sử dụng tên miền của mình thay vì IP máy chủ nếu bạn đã định cấu hình tên miền. Bạn sẽ thấy màn hình đăng nhập sau.



Đăng nhập bằng tên người dùng và mật khẩu bạn đã tạo. Sau khi đăng nhập thành công, bạn sẽ thấy giao diện sau.


Cài đặt Plugin tùy chọn​

Bạn có thể bật báo cáo để tìm hiểu về quy trình diễn ra trên tất cả các chef-client do máy chủ Chef quản lý. Bạn có thể chạy báo cáo qua bảng điều khiển quản lý Chef để xem báo cáo trên bảng điều khiển web. Báo cáo có thể được tạo cho toàn bộ tổ chức và có thể được tạo cho các nút cụ thể.Để cài đặt báo cáo, hãy chạy lệnh sau.
Mã:
chef-server-ctl install opscode-reporting
Cấu hình lại máy chủ Chef bằng cách chạy:
Mã:
chef-server-ctl reconfigure
Cấu hình mô-đun báo cáo bằng cách chạy:
Mã:
opscode-reporting-ctl reconfigure
Bạn có thể xác minh xem plugin Báo cáo đã được cài đặt và hoạt động chính xác hay chưa bằng cách chạy:
Mã:
opscode-reporting-ctl test
Tương tự như vậy, bạn có thể cài đặt các tác vụ Chef Push để chạy các tác vụ. Các tác vụ Chef Push cho phép máy chủ Chef chạy các tác vụ trên các nút độc lập với lệnh chạy chef-client. Các tác vụ đẩy của Chef sử dụng API máy chủ Chef và một máy khách Ruby để khởi tạo tất cả các kết nối đến máy chủ Chef.Cài đặt các tác vụ đẩy bằng cách chạy lệnh sau.
Mã:
chef-server-ctl install opscode-push-jobs-server
Cấu hình lại máy chủ Chef bằng cách chạy:
Mã:
chef-server-ctl reconfigure
Cấu hình mô-đun tác vụ đẩy bằng cách chạy:
Mã:
opscode-push-jobs-server-ctl reconfigure

Kết luận​

Trong hướng dẫn này, chúng ta đã học cách cài đặt phiên bản Chef mới nhất trên bản phát hành mới nhất của Ubuntu. Bạn có thể tìm hiểu thêm về Chef bằng cách truy cập trang web Chef.
 
Back
Bên trên