Đây là phần thứ hai của hướng dẫn Foreman. Trong hướng dẫn đầu tiên, chúng tôi đã hướng dẫn bạn cài đặt và cấu hình Foreman trên Ubuntu Server 18.04 LTS và bây giờ tôi sẽ hướng dẫn bạn cách thêm Puppet Agent vào Foremen.
Điều kiện tiên quyết
Thay đổi tên máy chủ của máy chủ bằng lệnh hostnamectl bên dưới.
Sau đó, chỉnh sửa tệp '/etc/hosts'.
Thay đổi địa chỉ IP và FQDN bằng địa chỉ của riêng bạn và dán vào đó.
Lưu và đóng.
Bây giờ hãy kiểm tra máy chủ bằng lệnh sau và đảm bảo bạn nhận được FQDN của máy chủ được phân giải thành địa chỉ IP hợp lệ của bạn.
Sau đó, cập nhật kho lưu trữ Ubuntu và cài đặt các gói tác nhân puppet bằng các lệnh apt sau.
Sau đó, cài đặt các gói tác nhân puppet bằng lệnh sau.
Khi quá trình cài đặt hoàn tất, chúng ta phải chỉnh sửa cấu hình puppet mặc định và xác định các thiết lập tác nhân.
Đi tới thư mục '/etc/puppetlabs/puppet' và chỉnh sửa tệp cấu hình 'puppet.conf'.
Thay đổi tên miền đầy đủ của máy chủ và tên chứng chỉ bằng tên của riêng bạn và dán vào đó.
Lưu và thoát.
Sau đó, chạy dịch vụ puppet agent bằng lệnh sau.
Hoặc nếu cần, hãy khởi động lại dịch vụ.
Puppet agent đang hoạt động trên cả máy chủ Ubuntu và CentOS.
Bây giờ bạn sẽ thấy chứng chỉ tên máy khách, hãy ký bằng lệnh bên dưới.
Và chứng chỉ tác nhân puppet đã được thêm vào puppet master thông qua máy chủ terminal.
Bây giờ hãy chọn tùy chọn 'Chứng chỉ' từ nút thả xuống của máy chủ foreman.
Bây giờ bạn sẽ nhận được tên máy khách thực hiện yêu cầu ở trạng thái 'đang chờ xử lý', hãy nhấp vào nút 'Ký'.
Sau đó, hãy xác minh máy chủ tác nhân bằng cách vào trang 'Máy chủ'.
Trong menu 'Máy chủ', hãy nhấp vào 'Tất cả máy chủ' và đảm bảo bạn nhận được tên của tác nhân puppet trên danh sách máy chủ như bên dưới.
Dưới đây là thông tin chi tiết về Ubuntu Puppet Agent.
Nhấp vào menu 'Cấu hình' ở bên trái và nhấp vào 'Lớp' của Puppet.
Nhấp vào 'Nhập Môi trường từ server.hakase-labs.io', đánh dấu vào các lớp mô-đun khả dụng và nhấp vào 'Cập nhật'.
Bây giờ bạn sẽ thấy mô-đun Nginx trong danh sách.
Bây giờ hãy nhấp vào nút 'Chỉnh sửa' trên máy chủ agent có tên 'client.hakase-labs.io'.
Đi đến tab 'Lớp Puppet', thêm mô-đun 'nginx' và 'ntp' và nhấp vào 'Gửi' button.
Các mô-đun Nginx và NTP đã được thêm vào máy chủ Agent.
Bổ sung:
Nếu bạn muốn xác minh các lớp đang hoạt động trên Máy chủ, chỉ cần nhấp vào nút 'YAML' trên thông tin chi tiết về máy chủ và bạn sẽ được hiển thị nguồn thô của cấu hình YAML.
Khi hoàn tất, bạn sẽ hiển thị kết quả như bên dưới.
Sau đó, xác minh dịch vụ nginx và ntp bằng cách kiểm tra cổng được liệt kê để đảm bảo HTTP và các cổng NTP được sử dụng bởi các dịch vụ nginx và ntp.
Bây giờ bạn có thể truy cập máy chủ web nginx trên nút tác nhân.
Để xác minh cấu hình máy chủ ntp, hãy chạy lệnh sau.
Và bạn sẽ được hiển thị cấu hình ntp do Puppet quản lý.
Điều kiện tiên quyết
- Foreman Puppet Master
- Quyền root
- Thiết lập Host
- Cài đặt và cấu hình Puppet Agent
- Ký chứng chỉ trên Foreman Puppet Master
- Kiểm tra
Bước 1 - Thiết lập Host
Trước hết, chúng ta cần cấu hình FQDN (Tên miền đủ điều kiện) của máy chủ puppet agent.Thay đổi tên máy chủ của máy chủ bằng lệnh hostnamectl bên dưới.
Mã:
hostnamectl set-hostname client.hakase-labs.io
Mã:
vim /etc/hosts
Mã:
10.9.9.20 server.hakase-labs.io server
10.9.9.21 client.hakase-labs.io client
Bây giờ hãy kiểm tra máy chủ bằng lệnh sau và đảm bảo bạn nhận được FQDN của máy chủ được phân giải thành địa chỉ IP hợp lệ của bạn.
Mã:
ping $(hostname -f) -c 3
Bước 2 - Cài đặt và cấu hình Puppet Agent
Trong bước này, chúng ta sẽ cài đặt Puppet Agent 5 trên máy chủ Ubuntu 18.04 và CentOS 7. Chúng ta muốn thêm kho lưu trữ Puppet vào hệ thống, sau đó cài đặt các gói puppet agent trên cả máy chủ Ubuntu và CentOS.- Cài đặt Puppet Agent trên máy chủ Ubuntu 18.04
Tải xuống kho lưu trữ gói và thêm vào hệ thống.
Mã:
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.deb
Mã:
sudo apt update
sudo apt install -y puppet-agent
- Cài đặt Puppet Agent trên CentOS 7 Server
Tải xuống kho lưu trữ gói và thêm vào hệ thống.
Mã:
cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpm
Mã:
sudo yum install -y puppet-agent
Đi tới thư mục '/etc/puppetlabs/puppet' và chỉnh sửa tệp cấu hình 'puppet.conf'.
Mã:
cd /etc/puppetlabs/puppet/
vim puppet.conf
Mã:
[agent]
server = server.hakase-labs.io
certname = client.hakase-labs.io
runinterval = 180
environment = production
listen = false
pluginsync = true
report = true
Sau đó, chạy dịch vụ puppet agent bằng lệnh sau.
Mã:
sudo /opt/puppetlabs/bin/puppet resource service puppet sure=running enable=true
Mã:
sudo systemctl restart puppet
Bước 3 - Ký yêu cầu chứng chỉ của Puppet Agent
Để ký yêu cầu chứng chỉ của các puppet agent, chúng ta có thể sử dụng shell đầu cuối của puppet master máy chủ (trong trường hợp này là chính máy chủ foreman) hoặc sử dụng bảng điều khiển foreman.- Ký yêu cầu chứng chỉ bằng Terminal Shell
Đăng nhập vào máy chủ puppet master (trong hướng dẫn này là máy chủ foreman) và kiểm tra yêu cầu chứng chỉ bằng lệnh sau.
Mã:
sudo /opt/puppetlabs/bin/puppetserver ca list
Mã:
sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io
- Ký chứng chỉ Yêu cầu sử dụng Bảng điều khiển Foreman
Nhấp vào menu 'Cơ sở hạ tầng' ở bên trái, sau đó chọn 'Proxy thông minh'.Bây giờ hãy chọn tùy chọn 'Chứng chỉ' từ nút thả xuống của máy chủ foreman.
Bây giờ bạn sẽ nhận được tên máy khách thực hiện yêu cầu ở trạng thái 'đang chờ xử lý', hãy nhấp vào nút 'Ký'.
Sau đó, hãy xác minh máy chủ tác nhân bằng cách vào trang 'Máy chủ'.
Trong menu 'Máy chủ', hãy nhấp vào 'Tất cả máy chủ' và đảm bảo bạn nhận được tên của tác nhân puppet trên danh sách máy chủ như bên dưới.
Dưới đây là thông tin chi tiết về Ubuntu Puppet Agent.
Bước 4 - Kiểm tra
Trong hướng dẫn này, chúng ta sẽ kiểm tra máy chủ puppet foreman và tác nhân puppet để triển khai các dịch vụ nginx và NTP cho máy chủ tác nhân puppet. Trước khi bắt đầu, chúng ta cần tải xuống các mô-đun puppet nginx và ntp vào máy chủ foreman, sau đó kích hoạt các mô-đun này và thêm vào tác nhân puppet.- Tải xuống Mô-đun Puppet Nginx
Tải xuống mô-đun puppet nginx bằng cách chạy lệnh sau trên máy chủ foreman chính puppet.
Mã:
sudo /opt/puppetlabs/bin/puppet module install puppet/nginx
- Kích hoạt Mô-đun Puppet
Sau đó, nhập mô-đun nginx thông qua bảng điều khiển foreman.Nhấp vào menu 'Cấu hình' ở bên trái và nhấp vào 'Lớp' của Puppet.
Nhấp vào 'Nhập Môi trường từ server.hakase-labs.io', đánh dấu vào các lớp mô-đun khả dụng và nhấp vào 'Cập nhật'.
Bây giờ bạn sẽ thấy mô-đun Nginx trong danh sách.
- Thêm Mô-đun Puppet vào Máy chủ Agent
Nhấp vào menu 'Máy chủ' ở bên trái, nhấp vào 'Tất cả Máy chủ' để lấy danh sách các máy chủ khả dụng.Bây giờ hãy nhấp vào nút 'Chỉnh sửa' trên máy chủ agent có tên 'client.hakase-labs.io'.
Đi đến tab 'Lớp Puppet', thêm mô-đun 'nginx' và 'ntp' và nhấp vào 'Gửi' button.
Các mô-đun Nginx và NTP đã được thêm vào máy chủ Agent.
Bổ sung:
Nếu bạn muốn xác minh các lớp đang hoạt động trên Máy chủ, chỉ cần nhấp vào nút 'YAML' trên thông tin chi tiết về máy chủ và bạn sẽ được hiển thị nguồn thô của cấu hình YAML.
- Áp dụng và Kiểm tra
Nếu bạn muốn áp dụng các thay đổi theo cách thủ công, bạn có thể chạy lệnh sau trên máy chủ tác nhân puppet.
Mã:
sudo /opt/puppetlabs/bin/puppet agent --test
Sau đó, xác minh dịch vụ nginx và ntp bằng cách kiểm tra cổng được liệt kê để đảm bảo HTTP và các cổng NTP được sử dụng bởi các dịch vụ nginx và ntp.
Mã:
netstat -plntu
Mã:
curl client.hakase-labs.io
Để xác minh cấu hình máy chủ ntp, hãy chạy lệnh sau.
Mã:
cat /etc/ntp.conf