Puppet là một công cụ quản trị tự động mã nguồn mở và miễn phí dành cho các hệ điều hành Linux, Unix và Windows. Công cụ này được sử dụng để triển khai, cấu hình và quản lý máy chủ và thực hiện các tác vụ quản trị như thêm người dùng, cài đặt gói và nhiều tác vụ khác. Công cụ này giúp quản trị viên hệ thống giải phóng thời gian và không gian tinh thần bằng cách tự động hóa các tác vụ trên hàng nghìn máy vật lý và máy ảo. Công cụ này sử dụng mô hình máy khách-máy chủ. Trong đó Puppet master kiểm soát thông tin cấu hình cho các tác nhân Puppet trong khi các tác nhân Puppet trao đổi và kéo xuống các cấu hình cấu hình từ Puppet master.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt máy chủ và tác nhân Puppet trên máy chủ Ubuntu 20.04.
Khi tất cả các gói đã được cập nhật, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau vào cả hai nút:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy tải xuống phiên bản Puppet mới nhất bằng lệnh sau:
Sau khi tải xuống gói, hãy cài đặt bằng cách chạy lệnh sau:
Sau khi cài đặt hoàn tất, hãy cập nhật kho lưu trữ và cài đặt máy chủ Puppet bằng cách chạy lệnh sau:
Sau khi cài đặt máy chủ Puppet, bạn sẽ cần thay đổi kích thước phân bổ bộ nhớ của quy trình Java Puppet. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/default/puppetserver:
Thay đổi kích thước bộ nhớ thành 1g như hiển thị bên dưới:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động dịch vụ Puppet và cho phép dịch vụ này khởi động khi khởi động lại hệ thống bằng lệnh sau:
Tiếp theo, bạn có thể xác minh trạng thái của dịch vụ Puppet bằng lệnh sau:
Bạn sẽ thấy lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy tải xuống và cài đặt kho lưu trữ Puppet bằng lệnh sau:
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Puppet agent bằng cách chạy lệnh sau:
Sau khi cài đặt Puppet agent, bạn sẽ cần chỉnh sửa tệp cấu hình Puppet và xác định Puppet master thông tin:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động dịch vụ tác nhân Puppet và cho phép nó khởi động khi khởi động bằng lệnh sau:
Tiếp theo, xác minh trạng thái của Puppet bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Tại thời điểm này, Puppet agent đã được cài đặt và cấu hình. Bây giờ, bạn có thể tiến hành bước tiếp theo.
Trên nút chính Puppet, hãy chạy lệnh sau để liệt kê tất cả các chứng chỉ:
Bạn sẽ thấy đầu ra sau:
Bây giờ, hãy ký tất cả các chứng chỉ bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Bây giờ, Puppet master có thể giao tiếp và điều khiển nút tác nhân.
Trên nút tác nhân Puppet, hãy kiểm tra giao tiếp giữa Puppet master và tác nhân bằng lệnh sau:
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt máy chủ và tác nhân Puppet trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Hai máy chủ chạy Ubuntu 20.04.
- Mật khẩu gốc được cấu hình trên cả hai máy chủ.
Bắt đầu
Đầu tiên, bạn sẽ cần cập nhật tất cả các gói trên hệ thống máy chủ Puppet master và máy khách Puppet. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Thiết lập Giải quyết Tên máy chủ
Tiếp theo, bạn sẽ cần thiết lập tên máy chủ trên cả hai nút. Vì vậy, mỗi nút có thể giao tiếp với nhau bằng tên máy chủ. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/hosts trên cả hai nút:
Mã:
nano /etc/hosts
Mã:
puppet-master-ip puppetmaster puppetpuppet-client-ip puppetclient
Cài đặt Máy chủ Puppet
Trước tiên, bạn sẽ cần cài đặt máy chủ Puppet trên nút chính. Theo mặc định, gói Puppet không có trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần cài đặt kho lưu trữ Puppet trong máy chủ của mình.Trước tiên, hãy tải xuống phiên bản Puppet mới nhất bằng lệnh sau:
Mã:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
Mã:
dpkg -i puppet6-release-focal.deb
Mã:
apt-get update -y
apt-get install puppetserver -y
Mã:
nano /etc/default/puppetserver
Mã:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Mã:
systemctl start puppetserver
systemctl enable puppetserver
Mã:
systemctl status puppetserver
Mã:
? puppetserver.service - Dịch vụ puppetserver Đã tải: đã tải (/lib/systemd/system/puppetserver.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2020-09-05 09:33:55 UTC; 3 giây trước Tiến trình: 3673 ExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver start (code=exited, status=0/SUCCESS) PID chính: 3715 (java) Nhiệm vụ: 42 (giới hạn: 4915) Bộ nhớ: 962,3M CGroup: /system.slice/puppetserver.service ??3715 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -XX:OnOutOfMemoryError="kill>05/09 09:33:08 puppetmaster systemd[1]: Đang khởi động dịch vụ puppetserver...05/09 09:33:55 puppetmaster systemd[1]: Đã khởi động puppetserver Dịch vụ.
Cài đặt và cấu hình Puppet Agent
Lúc này, máy chủ Puppet đã được cài đặt và cấu hình. Bây giờ, bạn sẽ cần cài đặt Puppet agent trên nút máy khách.Trước tiên, hãy tải xuống và cài đặt kho lưu trữ Puppet bằng lệnh sau:
Mã:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
dpkg -i puppet6-release-focal.deb
Mã:
apt-get update -y
apt-get install puppet-agent -y
Mã:
nano /etc/puppetlabs/puppet/puppet.conf
Mã:
[main]certname = puppetclientserver = puppetmaster
Mã:
systemctl start puppet
systemctl enable puppet
Mã:
systemctl status puppet
Mã:
? puppet.service - Tác nhân Puppet Đã tải: đã tải (/lib/systemd/system/puppet.service; enabled; vendor preset: enabled) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2020-09-05 09:43:15 UTC; 22 giây trước PID chính: 1435 (puppet) Nhiệm vụ: 2 (giới hạn: 2353) Bộ nhớ: 52,8M CGroup: /system.slice/puppet.service ??1435 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/puppet agent --no-daemonize05/09 09:43:15 puppetagent systemd[1]: Đã khởi động Puppet agent.
Ký chứng chỉ đại lý Puppet
Puppet sử dụng kiến trúc máy khách-máy chủ nên bạn sẽ cần phải chấp thuận yêu cầu chứng chỉ cho từng nút đại lý trước khi có thể định cấu hình.Trên nút chính Puppet, hãy chạy lệnh sau để liệt kê tất cả các chứng chỉ:
Mã:
/opt/puppetlabs/bin/puppetserver ca list
Mã:
Chứng chỉ được yêu cầu: puppetclient (SHA256) A4:9A:E9:87:8B:54:0A:4F:A0:78:65:1A:3C:99:B5:EC:31:9E:BB:4C:17:8A:50:16:E9:1E:3D:D6:27:74:89:85 puppetmaster (SHA256) E9:25:4C:51:4E:47:D7:44:11:1F:C5:A9:4E:96:D9:E8:3A:EB:A0:01:48:06:B5:EF:3F:C4:09:03:90:3E:D8:2D
Mã:
/opt/puppetlabs/bin/puppetserver ca sign --all
Mã:
Yêu cầu chứng chỉ đã ký thành công cho puppetclientYêu cầu chứng chỉ đã ký thành công cho puppetmaster
Trên nút tác nhân Puppet, hãy kiểm tra giao tiếp giữa Puppet master và tác nhân bằng lệnh sau:
Mã:
/opt/puppetlabs/bin/puppet agent --test
Mã:
Thông tin: Sử dụng môi trường được định cấu hình 'production'Thông tin: Đang truy xuất pluginfactsThông tin: Đang truy xuất pluginThông tin: Đang truy xuất ngôn ngữThông tin: Lưu trữ danh mục bộ nhớ đệm cho puppetclientThông tin: Đang áp dụng phiên bản cấu hình '1599300398'Lưu ý: Đã áp dụng danh mục trong 0,02 giây