Puppet là một công cụ quản lý cấu hình và tự động hóa tập trung. DevOps tạo ra quản lý cấu hình để triển khai máy chủ và ứng dụng, và tất cả cấu hình để tự động hóa được lưu trữ trên "Puppet Server" trung tâm. Sau đó, các nút "Agent" sẽ kéo cấu hình mới từ "Puppet Server" và áp dụng trạng thái như đã xác định.
Tất cả các kết nối giữa các nút "Puppet Server" và "Agent" đều được mã hóa theo mặc định bằng chứng chỉ SSL/TLS. Puppet sử dụng Ngôn ngữ dành riêng cho miền (DSL) để mô tả cấu hình hệ thống và tương tự như cú pháp Ruby.
Hướng dẫn này chỉ cho bạn cách cài đặt Puppet Server và Agent trên máy chủ AlmaLinux. Chúng tôi cũng sẽ chỉ cho bạn cách bắt đầu với công cụ quản lý cấu hình Puppet bằng cách tạo triển khai Puppet đầu tiên cho LAMP Stack.
Trong ví dụ này, bạn sẽ sử dụng fqdn hệ thống cho cả Máy chủ và Đại lý Puppet. Mỗi máy chủ có thể truy cập thông qua fqdn và tên máy chủ hệ thống.
Để bắt đầu, hãy chạy lệnh sau để thiết lập fqdn trên mỗi máy chủ.
Chạy lệnh này trên Máy chủ Puppet.
Và lệnh này nằm trên Agent máy.
Mở tệp /etc/hosts bằng lệnh trình chỉnh sửa nano bên dưới.
Chèn cấu hình sau và đảm bảo thay đổi địa chỉ IP chi tiết và fqdn.
Lưu và đóng tệp.
Tiếp theo, chạy lệnh sau để xác minh fqdn trên cả Puppet Server và Agent.
Bạn sẽ nhận được fqdn trên Puppet Server dưới dạng pp-server.hwdomain.lan và cho máy Agent agent1.hwdomain.lan.
Cuối cùng, hãy chạy lệnh ping bên dưới để đảm bảo rằng mỗi tên máy chủ và fqdn được trỏ đến đúng địa chỉ IP nội bộ của máy chủ.
Thiết lập tên máy chủ và fqdn trên Máy chủ Puppet.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22352%22%3E%3C/svg%3E
Thiết lập tên máy chủ và fqdn trên Puppet Agent.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22365%22%3E%3C/svg%3E
Thêm kho lưu trữ Puppet vào cả Máy chủ Puppet và Agent bằng lệnh sau.
Sau khi kho lưu trữ được thêm vào, hãy chạy lệnh dnf bên dưới để xác minh danh sách các kho lưu trữ khả dụng trên cả hai máy chủ.
Bạn sẽ thấy kho lưu trữ Puppet trong danh sách kho lưu trữ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22284%22%3E%3C/svg%3E
Đầu tiên, hãy chạy lệnh dnf bên dưới để cài đặt gói puppetserver trên pp-server.
Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22408%22%3E%3C/svg%3E
Ngoài ra, hãy nhập y khi muốn thêm khóa GPG của kho lưu trữ Puppet.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22278%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để tải cấu hình hệ thống Puppet vào hệ thống của bạn. Sau đó, hãy xác minh biến môi trường PATH để đảm bảo rằng thư mục bin của Puppet Server đã được thêm vào.
Nếu thành công, bạn sẽ thấy thư mục /opt/puppetlabs/bin khả dụng trên PATH của hệ thống.
Tiếp theo, hãy chạy lệnh sau để định vị tệp nhị phân puppetserver và xác minh puppsetserver phiên bản.
Trong đầu ra này, bạn sẽ thấy tệp nhị phân puppetserver có sẵn tại /opt/puppetlabs/bin/puppetserver. Và puppetserver hiện tại được cài đặt là v7.11.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22558%22%20height=%22247%22%3E%3C/svg%3E
Trên máy Agent, hãy chạy lệnh sau để cài đặt gói puppet-agent. Nhập y khi được nhắc và nhấn ENTER.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22214%22%3E%3C/svg%3E
Ngoài ra, nhập y một lần nữa để thêm khóa GPG của kho lưu trữ Puppet.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22273%22%3E%3C/svg%3E
Sau khi puppet-agent được cài đặt, hãy chạy lệnh sau để tải cấu hình hệ thống Puppet vào phiên hiện tại của bạn. Sau đó, hãy kiểm tra biến môi trường PATH của hệ thống.
Nếu cấu hình hệ thống Puppet được tải, bạn sẽ thấy thư mục /opt/puppetlabs/bin có sẵn trên PATH của hệ thống.
Chạy lệnh sau để định vị tệp nhị phân puppet và xác minh puppet-agent phiên bản.
Bạn sẽ thấy tệp nhị phân puppet nằm ở /opt/puppetlabs/bin/puppet và phiên bản puppet-agent là v7.11.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22611%22%20height=%22314%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ puppet trên máy Agent.
Sau đó, chạy lệnh sau để đảm bảo dịch vụ puppet chạy.
Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy đầu ra như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E
Đầu tiên, hãy mở tệp /etc/sysconfig/puppetserver bằng trình soạn thảo vim.
Trong tham số JAVA_ARGS, hãy tăng phân bổ bộ nhớ tối đa cho Puppet Server. Cấu hình này phụ thuộc vào bộ nhớ hệ thống hiện tại của bạn. Trong ví dụ này, Puppet Server có 4GB bộ nhớ và sẽ phân bổ 2GB cho Puppet Server.
Lưu tệp và thoát khỏi trình chỉnh sửa sau khi hoàn tất.
Bây giờ, hãy chạy lệnh puppet bên dưới để thay đổi tên máy chủ mặc định thành pp-server.hwdomain.lan và runinterval thành 1 giờ. Tham số runinterval có nghĩa là tần suất Agent áp dụng danh mục Puppet.
Tiếp theo, chạy lệnh sau để thiết lập môi trường mặc định cho sản xuất và tên thay thế cho Máy chủ Puppet thành pp-server và pp-server.hwdomain.lan.
Sau khi các lệnh puppet đó được thực thi, các thiết lập sẽ được lưu trữ tại cấu hình Puppet mặc định /etc/puppetlabs/puppet/puppet.conf. Chạy lệnh sau để hiển thị nội dung tệp /etc/puppetlabs/puppet/puppet.conf.
Bạn sẽ nhận được cấu hình tương tự như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22706%22%20height=%22413%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để tải lại Trình quản lý systemd.
Sau đó, hãy khởi động và kích hoạt dịch vụ puppetserver bằng lệnh systemctl sau.
Sau khi puppetserver được khởi động, hãy chạy lệnh sau để xác minh nó.
Nếu puppetserver đang chạy, bạn sẽ nhận được kết quả như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22186%22%3E%3C/svg%3E
Chạy lệnh sau để thêm mạng cục bộ của bạn vào firewalld và mở cổng TCP 8140 mà Puppet Server sẽ sử dụng.
Sau đó, tải lại firewalld và xác minh danh sách các quy tắc đã bật bằng cách sử dụng lệnh sau lệnh.
Bạn sẽ thấy mạng192.168.10.0/24 được thêm vào tường lửa và cổng 8140 khả dụng trên tường lửa.
Để thực hiện việc đó, hãy làm theo các bước sau:
Chạy lệnh sau để xác minh cấu hình Puppet Agent /etc/puppetlabs/puppet/puppet.conf. Đảm bảo rằng bạn có cấu hình server và ca_server chính xác.
Bạn sẽ nhận được kết quả tương tự:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22297%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để khởi động lại dịch vụ puppet trên máy Agent và xác minh trạng thái của nó nó.
Nếu bạn có cấu hình Puppet Agent phù hợp, bạn sẽ thấy máy chủ Puppet có trạng thái đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22200%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh sau để khởi tạo Puppet Agent máy.
Điều này sẽ tạo ra một chứng chỉ mới trên máy Agent và xác thực với Puppet Server.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22131%22%3E%3C/svg%3E
Di chuyển đến Puppet Server và chạy lệnh sau để xác minh danh sách các chứng chỉ (cả đang chờ xử lý và đã chấp nhận). sau đó, chấp nhận và ký yêu cầu chứng chỉ từ máy Agent agent1.hwdomain.lan.
Sau khi Puppet Server ký chứng chỉ, bạn sẽ thấy thông báo "Đã ký thành công yêu cầu chứng chỉ cho agent1.hwdomain.lan".
Sau đó, trên máy Puppet Agent, bạn sẽ thấy thông báo "Thông báo: Đã hoàn tất khởi tạo SSL".
Cuối cùng, hãy kiểm tra lại danh sách các chứng chỉ đã ký trên Máy chủ Puppet bằng lệnh sau.
Nếu mọi thứ thành công, bạn sẽ thấy chứng chỉ máy agent1.hwdomain.lan trong phần Chứng chỉ đã ký.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2292%22%3E%3C/svg%3E
Bây giờ, bạn đã cài đặt và cấu hình thành công Puppet Server và Agent trên hai máy chủ AlmaLinux khác nhau. Trong bước tiếp theo, bạn sẽ tạo bản kê khai Puppet đầu tiên để triển khai tự động ứng dụng của mình.
Hãy đảm bảo chạy lệnh sau và tạo bản kê khai Puppet trên Puppet Server.
Đi đến thư mục /etc/puppetlabs/code/environments/production/ và tạo một thư mục modules mới cho dự án modules/lamp/ của bạn.
Di chuyển đến thư mục modules/lamp/ và tạo một tệp mới manifests/init.pp bằng cách sử dụng nano biên tập viên.
Chèn tập lệnh Puppet sau vào tệp. Lệnh này sẽ cài đặt các gói LAMP Stack trên máy tác nhân, đảm bảo các dịch vụ LAMP stack đang chạy và được bật, tạo tệp index.html tùy chỉnh vào thư mục /var/www/html/index.html và tạo tệp PHPINFO mới /var/www/html/info.php.
Lưu và đóng tệp khi hoàn tất.
Tiếp theo, di chuyển lại đến thư mục /etc/puppetlabs/code/environments/production/ và tạo một tệp khác manifests/sites.pp bằng nano biên tập viên.
Xác định Puppet Agent và mô-đun mà bạn muốn sử dụng. Trong ví dụ này, bạn sẽ triển khai mô-đun lamp tới máy Agent agent1.hwdomain.lan.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ, Puppet Agent sẽ truy xuất triển khai danh mục từ Puppet Server, lưu trữ tạm thời trên máy Agent, sau đó áp dụng triển khai.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Sau khi mọi thứ hoàn tất, hãy chạy lệnh systemctl bên dưới để xác minh cả httpd và MariaDB dịch vụ.
Kiểm tra dịch vụ httpd để đảm bảo dịch vụ đang chạy và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22363%22%3E%3C/svg%3E
Kiểm tra dịch vụ MariaDB để đảm bảo dịch vụ đang chạy và đã bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E
Khởi chạy trình duyệt web của bạn và truy cập địa chỉ IP của Puppet Agent (ví dụ: http://192.168.10.21/). Nếu triển khai thành công, bạn sẽ nhận được trang index.html tùy chỉnh như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22115%22%3E%3C/svg%3E
Bây giờ hãy điều hướng đến đường dẫn URL /info.php (ví dụ: http://192.168.10.21/info.php). Nếu PHP được cài đặt, bạn sẽ nhận được trang chi tiết của PHPINFO như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22588%22%3E%3C/svg%3E
Tất cả các kết nối giữa các nút "Puppet Server" và "Agent" đều được mã hóa theo mặc định bằng chứng chỉ SSL/TLS. Puppet sử dụng Ngôn ngữ dành riêng cho miền (DSL) để mô tả cấu hình hệ thống và tương tự như cú pháp Ruby.
Hướng dẫn này chỉ cho bạn cách cài đặt Puppet Server và Agent trên máy chủ AlmaLinux. Chúng tôi cũng sẽ chỉ cho bạn cách bắt đầu với công cụ quản lý cấu hình Puppet bằng cách tạo triển khai Puppet đầu tiên cho LAMP Stack.
Điều kiện tiên quyết
Đảm bảo rằng bạn có những điều sau trước khi bắt đầu:- 2 máy chủ AlmaLinux - Ví dụ này sử dụng máy chủ AlmaLinux 8:
hostname: pp-server - Địa chỉ IP: 192.168.10.20 - Được sử dụng làm: Puppet Server - hostname: agent1 - Địa chỉ IP: 192.168.10.21 - Được sử dụng làm: Puppet Agent
Thiết lập /etc/hosts Tệp
Trước khi bạn chuyển sang cài đặt Puppet, bạn nên sử dụng tên miền cục bộ hoặc FQDN (Tên miền đủ điều kiện) thay vì địa chỉ IP cho môi trường Puppet.Trong ví dụ này, bạn sẽ sử dụng fqdn hệ thống cho cả Máy chủ và Đại lý Puppet. Mỗi máy chủ có thể truy cập thông qua fqdn và tên máy chủ hệ thống.
Để bắt đầu, hãy chạy lệnh sau để thiết lập fqdn trên mỗi máy chủ.
Chạy lệnh này trên Máy chủ Puppet.
Mã:
sudo hostnamectl set-hostname pp-server.hwdomain.lan
Mã:
sudo hostnamectl set-hostname agent1.hwdomain.lan
Mã:
sudo nano /etc/hosts
Mã:
192.168.10.20 pp-server.hwdomain.lan pp-server
192.168.10.21 agent1.hwdomain.lan agent1
Tiếp theo, chạy lệnh sau để xác minh fqdn trên cả Puppet Server và Agent.
Mã:
sudo hostname -f
Cuối cùng, hãy chạy lệnh ping bên dưới để đảm bảo rằng mỗi tên máy chủ và fqdn được trỏ đến đúng địa chỉ IP nội bộ của máy chủ.
Mã:
ping -c3 pp-server.hwdomain.lan
ping -c3 pp-server
Mã:
ping -c3 agent1.hwdomain.lan
ping -c3 agent1
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22352%22%3E%3C/svg%3E
Thiết lập tên máy chủ và fqdn trên Puppet Agent.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22365%22%3E%3C/svg%3E
Cài đặt Puppet
Trong phần này, bạn sẽ bắt đầu cài đặt Máy chủ Puppet và Agent. Bạn sẽ thiết lập kho lưu trữ Puppet trên cả Máy chủ Puppet và Agent, sau đó cài đặt gói Puppet tương ứng vào từng máy.Thêm kho lưu trữ Puppet
Hãy đảm bảo chạy lệnh này trên cả Máy chủ Puppet và Agent.Thêm kho lưu trữ Puppet vào cả Máy chủ Puppet và Agent bằng lệnh sau.
Mã:
sudo rpm -Uvh https://yum.puppet.com/puppet7-release-el-8.noarch.rpm
Mã:
sudo dnf repolist
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22284%22%3E%3C/svg%3E
Cài đặt và cấu hình máy chủ Puppet
Sau khi kho lưu trữ được thêm vào, bạn có thể bắt đầu Cài đặt Puppet Server.Đầu tiên, hãy chạy lệnh dnf bên dưới để cài đặt gói puppetserver trên pp-server.
Mã:
sudo dnf install puppetserver
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22408%22%3E%3C/svg%3E
Ngoài ra, hãy nhập y khi muốn thêm khóa GPG của kho lưu trữ Puppet.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22278%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để tải cấu hình hệ thống Puppet vào hệ thống của bạn. Sau đó, hãy xác minh biến môi trường PATH để đảm bảo rằng thư mục bin của Puppet Server đã được thêm vào.
Mã:
source /etc/profile.d/puppet-agent.sh
echo $PATH
Tiếp theo, hãy chạy lệnh sau để định vị tệp nhị phân puppetserver và xác minh puppsetserver phiên bản.
Mã:
which puppetserver
puppetserver -v
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22558%22%20height=%22247%22%3E%3C/svg%3E
Cài đặt Puppet Agent
Bạn đã sẵn sàng cài đặt Puppet Agent trên máy agent1.hwdomain.lan.Trên máy Agent, hãy chạy lệnh sau để cài đặt gói puppet-agent. Nhập y khi được nhắc và nhấn ENTER.
Mã:
sudo dnf install puppet-agent
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22214%22%3E%3C/svg%3E
Ngoài ra, nhập y một lần nữa để thêm khóa GPG của kho lưu trữ Puppet.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22273%22%3E%3C/svg%3E
Sau khi puppet-agent được cài đặt, hãy chạy lệnh sau để tải cấu hình hệ thống Puppet vào phiên hiện tại của bạn. Sau đó, hãy kiểm tra biến môi trường PATH của hệ thống.
Mã:
source /etc/profile.d/puppet-agent.sh
echo $PATH
Chạy lệnh sau để định vị tệp nhị phân puppet và xác minh puppet-agent phiên bản.
Mã:
which puppet
puppet -v
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22611%22%20height=%22314%22%3E%3C/svg%3E
Cuối cùng, chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ puppet trên máy Agent.
Mã:
sudo systemctl start puppet
sudo systemctl enable puppet
Mã:
sudo systemctl status puppet
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E
Cấu hình Puppet Server
Sau khi cài đặt cả Puppet Server và Agent, bước tiếp theo bạn sẽ cấu hình cài đặt Puppet Server. Bạn sẽ thiết lập tên máy chủ mặc định cho Puppet Server, thiết lập runinterval cho các tác nhân, sau đó khởi động và kích hoạt dịch vụ Puppe Server.Đầu tiên, hãy mở tệp /etc/sysconfig/puppetserver bằng trình soạn thảo vim.
Mã:
sudo nano /etc/sysconfig/puppetserver
Mã:
# Modify this if you'd like to change the memory allocation, enable JMX, etc
JAVA_ARGS="-Xms2g -Xmx2g"
Bây giờ, hãy chạy lệnh puppet bên dưới để thay đổi tên máy chủ mặc định thành pp-server.hwdomain.lan và runinterval thành 1 giờ. Tham số runinterval có nghĩa là tần suất Agent áp dụng danh mục Puppet.
Mã:
puppet config set server pp-server.hwdomain.lan --section main
puppet config set runinterval 1h --section main
Mã:
puppet config set environment production --section server
puppet config set dns_alt_names pp-server,pp-server.hwdomain.lan --section server
Sau khi các lệnh puppet đó được thực thi, các thiết lập sẽ được lưu trữ tại cấu hình Puppet mặc định /etc/puppetlabs/puppet/puppet.conf. Chạy lệnh sau để hiển thị nội dung tệp /etc/puppetlabs/puppet/puppet.conf.
Mã:
cat /etc/puppetlabs/puppet/puppet.conf
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22706%22%20height=%22413%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để tải lại Trình quản lý systemd.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
Mã:
sudo systemctl status puppetserver
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22186%22%3E%3C/svg%3E
Cấu hình Firewalld trên Puppet Server
Sau khi cấu hình Puppet Server, bạn phải mở cổng 8140 trên Puppet Server và cho phép mạng của bạn truy cập vào cổng đó. Bây giờ chúng ta sẽ chuyển sang thiết lập firewalld và mở cổng 8140 trên pp-server.hwdomain.lan.Chạy lệnh sau để thêm mạng cục bộ của bạn vào firewalld và mở cổng TCP 8140 mà Puppet Server sẽ sử dụng.
Mã:
sudo firewall-cmd --add-source=192.168.10.0/24 --permanent
sudo firewall-cmd --add-port=8140/tcp --permanent
Mã:
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Đăng ký Puppet Agent vào Máy chủ Puppet
Phần này đề cập đến việc thêm và đăng ký Puppet Agent vào Máy chủ Puppet. Bạn sẽ đăng ký agent.hwdomain.lan với Puppet Server pp-server.hwdomain.lan.Để thực hiện việc đó, hãy làm theo các bước sau:
- Xác định Puppet Server mặc định ở phía tác nhân và khởi động lại Puppet Agent.
- Khởi tạo yêu cầu ký chứng chỉ từ Puppet Agent.
- Ký yêu cầu chứng chỉ trên Puppet Server.
- Xác minh danh sách chứng chỉ đã ký.
Mã:
puppet config set server pp-server.hwdomain.lan --section agent
puppet config set ca_server pp-server.hwdomain.lan --section agent
Mã:
cat /etc/puppetlabs/puppet/puppet.conf
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22297%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để khởi động lại dịch vụ puppet trên máy Agent và xác minh trạng thái của nó nó.
Mã:
sudo systemctl restart puppet
sudo systemctl status puppet
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22200%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh sau để khởi tạo Puppet Agent máy.
Mã:
puppet ssl bootstrap
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22131%22%3E%3C/svg%3E
Di chuyển đến Puppet Server và chạy lệnh sau để xác minh danh sách các chứng chỉ (cả đang chờ xử lý và đã chấp nhận). sau đó, chấp nhận và ký yêu cầu chứng chỉ từ máy Agent agent1.hwdomain.lan.
Mã:
puppetserver ca list --all
puppetserver ca sign --certname agent1.hwdomain.lan
Sau đó, trên máy Puppet Agent, bạn sẽ thấy thông báo "Thông báo: Đã hoàn tất khởi tạo SSL".
Cuối cùng, hãy kiểm tra lại danh sách các chứng chỉ đã ký trên Máy chủ Puppet bằng lệnh sau.
Mã:
puppetserver ca list --all
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2292%22%3E%3C/svg%3E
Bây giờ, bạn đã cài đặt và cấu hình thành công Puppet Server và Agent trên hai máy chủ AlmaLinux khác nhau. Trong bước tiếp theo, bạn sẽ tạo bản kê khai Puppet đầu tiên để triển khai tự động ứng dụng của mình.
Tạo bản kê khai Puppet đầu tiên
Phần này dành riêng làm điểm khởi đầu để sử dụng quản lý cấu hình cas Puppet nhằm tự động triển khai ứng dụng của bạn. Bạn sẽ tạo bản kê khai Puppet đầu tiên để cài đặt LAMP Stack trên Puppet Agent agent1.hwdomain.lan.Hãy đảm bảo chạy lệnh sau và tạo bản kê khai Puppet trên Puppet Server.
Đi đến thư mục /etc/puppetlabs/code/environments/production/ và tạo một thư mục modules mới cho dự án modules/lamp/ của bạn.
Mã:
cd /etc/puppetlabs/code/environments/production/
mkdir -p modules/lamp/{manifests,files}
Mã:
cd modules/lamp/
nano manifests/init.pp
Mã:
class lamp {
Package { ensure => 'installed' }
$lamppackages = [ 'httpd', 'mariadb-server', 'php' ]
package { $lamppackages: }
Service { ensure => 'running', enable => 'true'}
$lampsvc = [ 'httpd', 'mariadb' ]
service { $lampsvc: }
file { '/var/www/html/index.html':
ensure => file,
content => "[HEADING=1]Welcome to httpd - Managed by Puppet[/HEADING]",
mode => '0644',
}
file { '/var/www/html/info.php':
ensure => file,
content => "",
mode => '0644',
}
}
Tiếp theo, di chuyển lại đến thư mục /etc/puppetlabs/code/environments/production/ và tạo một tệp khác manifests/sites.pp bằng nano biên tập viên.
Mã:
cd /etc/puppetlabs/code/environments/production/
nano manifests/sites.pp
Mã:
node 'agent1.hwdomain.lan' {
include lamp
}
Áp dụng Puppet Manifest trên Agent
Trên máy Agent, hãy chạy lệnh sau để kéo và áp dụng triển khai.
Mã:
puppet agent -t
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Sau khi mọi thứ hoàn tất, hãy chạy lệnh systemctl bên dưới để xác minh cả httpd và MariaDB dịch vụ.
Kiểm tra dịch vụ httpd để đảm bảo dịch vụ đang chạy và được bật.
Mã:
sudo systemctl is-enabled httpd
sudo systemctl status httpd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22363%22%3E%3C/svg%3E
Kiểm tra dịch vụ MariaDB để đảm bảo dịch vụ đang chạy và đã bật.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22257%22%3E%3C/svg%3E
Khởi chạy trình duyệt web của bạn và truy cập địa chỉ IP của Puppet Agent (ví dụ: http://192.168.10.21/). Nếu triển khai thành công, bạn sẽ nhận được trang index.html tùy chỉnh như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22115%22%3E%3C/svg%3E
Bây giờ hãy điều hướng đến đường dẫn URL /info.php (ví dụ: http://192.168.10.21/info.php). Nếu PHP được cài đặt, bạn sẽ nhận được trang chi tiết của PHPINFO như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22588%22%3E%3C/svg%3E