Cách thiết lập Puppet Master và Agent trên CentOS 7

theanh

Administrator
Nhân viên
Puppet là một công cụ quản lý cấu hình nguồn mở và khung tự động hóa máy chủ. Puppet có thể chạy trên các hệ điều hành giống Unix cũng như trên các hệ thống Microsoft Windows. Nó cho phép bạn quản lý và thực hiện các tác vụ quản trị và cấu hình hàng trăm hệ thống từ một máy chủ chính.

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn cách cài đặt Puppeton CentOS 7. Tôi sẽ cài đặt và cấu hình một máy chủ CentOS 7 làm 'master' của puppet và máy chủ còn lại làm 'agent'.

Điều kiện tiên quyết​

  • 2 máy chủ CentOS 710.0.15.10 master.hakase.io 2GB Bộ nhớ
  • 10.0.15.11 agent.hakase.io
[*] Quyền root

Những gì chúng ta sẽ làm:​

  1. Cài đặt trước Puppet
  2. Cài đặt và cấu hình máy chủ Puppet
  3. Cài đặt và cấu hình Puppet Agent
  4. Xác minh Cấu hình Puppet Agent
  5. Tạo Puppet Manifest đầu tiên

Bước 1 - Cài đặt trước Puppet​

Trong bước này, chúng ta sẽ thực hiện một số tác vụ bao gồm cài đặt và cấu hình trên cả hai máy chủ puppet master và puppet agent. Chúng tôi sẽ cấu hình tệp máy chủ, đồng bộ hóa thời gian bằng máy chủ NTP, Tắt SELinux và thêm kho lưu trữ puppet vào hệ thống.

- Cấu hình máy chủ​

Kết nối với puppet master và agent bằng người dùng root của bạn.
Mã:
ssh [emailprotected]
ssh [emailprotected]
Bây giờ hãy chỉnh sửa máy chủ bằng trình soạn thảo vim.
Mã:
vim /etc/hosts
Thêm cấu hình sau vào cuối dòng.
Mã:
10.0.15.10 master.hakase.io
 10.0.15.11 agent.hakase.io
Lưu và thoát.

Bây giờ hãy kiểm tra bằng lệnh ping.
Mã:
ping master.hakase.io
ping agent.hakase.io
Và đảm bảo bạn nhận được địa chỉ IP của máy chủ là 10.0.15.10 và 10.0.15.11.


- Cấu hình Máy chủ NTP​

Điều rất quan trọng là phải đồng bộ hóa thời gian giữa máy chủ master và máy chủ agent.

Cài đặt các gói NTP trên cả hai máy chủ bằng lệnh yum.
Mã:
yum -y install ntp ntpdate
Sau khi cài đặt hoàn tất, hãy chọn nhóm NTP khi bạn muốn bằng cách chạy lệnh như bên dưới.
Mã:
sudo ntpdate 0.centos.pool.ntp.org
Bây giờ hãy khởi động dịch vụ NTP và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Mã:
sudo systemctl start ntpd
sudo systemctl enable ntpd
Quá trình cài đặt và cấu hình NTP đã hoàn tất.


- Tắt SELinux​

Chỉnh sửa cấu hình SELinux bằng vim.
Mã:
vim /etc/sysconfig/selinux
Thay đổi giá trị SELINUX thành 'disabled'.
Mã:
SELINUX=disabled
Lưu và thoát.

- Thêm Puppet Kho lưu trữ​

Bây giờ hãy thêm kho lưu trữ puppet vào hệ thống bằng lệnh rpm bên dưới.
Mã:
rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm


Khi hoàn tất, hãy khởi động lại cả hai máy chủ.
Mã:
khởi động lại
Bây giờ chúng ta đã sẵn sàng để cài đặt và cấu hình puppet.

Bước 2 - Cài đặt và cấu hình Puppetserver​

Trong bước này, chúng ta sẽ cài đặt puppetserver trên máy chủ master.hakase.io. Cài đặt puppetserver bằng lệnh yum bên dưới.
Mã:
sudo yum -y install puppetserver
Sau khi cài đặt hoàn tất, chúng ta cần cấu hình phân bổ bộ nhớ cho puppetserver. Chúng tôi sẽ thiết lập phân bổ bộ nhớ tối đa cho puppetserver là 1GB.

Chỉnh sửa cấu hình 'puppetserver' bằng vim.
Mã:
vim /etc/sysconfig/puppetserver
Bây giờ hãy thay đổi dòng như bên dưới.
Mã:
JAVA_ARGS="-Xms1g -Xmx1g ...."
Lưu và thoát.

Tiếp theo, hãy đến thư mục cấu hình puppet và chỉnh sửa tệp 'puppet.conf'.
Mã:
cd /etc/puppetlabs/puppet
vim puppet.conf
Thêm cấu hình sau.
Mã:
[master]
 dns_alt_names=master.hakase.io,puppet
 
 [main]
 certname = master.hakase.io
 server = master.hakase.io
 environment = production
 runinterval = 1h
Lưu và thoát.

Bây giờ hãy khởi động puppetserver và cho phép nó khởi chạy mọi lúc khi khởi động.
Mã:
systemctl start puppetserver
systemctl enable puppetserver
Quá trình cài đặt và cấu hình Puppetserver đã hoàn tất thành công.



Nếu bạn đang sử dụng firewalld trên hệ thống của mình, hãy thêm cổng puppetserver vào danh sách bằng lệnh firewall-cmd bên dưới.
Mã:
firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload

Bước 3 - Cài đặt và cấu hình Puppet Agent​

Chúng tôi sẽ cài đặt puppet agent trên máy chủ 'agent.hakase.io'.

Cài đặt puppet agent bằng lệnh yum bên dưới.
Mã:
yum install -y puppet-agent
Sau khi cài đặt hoàn tất, hãy vào thư mục cấu hình puppet và chỉnh sửa tệp puppet.conf.
Mã:
cd /etc/puppetlabs/puppet
vim puppet.conf
Dán cấu hình sau.
Mã:
[main]
 certname = agent.hakase.io
 server = master.hakase.io
 environment = production
 runinterval = 1h
Lưu và thoát.

Tiếp theo, chúng ta sẽ đăng ký tác nhân puppet với puppet master.

Chạy lệnh bên dưới trên shell puppet agent.
Mã:
/opt/puppetlabs/bin/puppet resource service puppet sure=running enable=true
Hiện tại, tác nhân puppet đang chạy trên máy chủ và đang cố gắng tự đăng ký với puppet master.

Bây giờ, hãy quay lại shell puppet master và chạy lệnh bên dưới.
Mã:
/opt/puppetlabs/bin/puppet cert list
Và bạn sẽ nhận được Yêu cầu ký chứng chỉ (CSR) đang chờ xử lý từ máy chủ puppet agent 'agent.hakase.io'.

Ký chứng chỉ bằng lệnh bên dưới.
Mã:
/opt/puppetlabs/bin/puppet cert sign agent.hakase.io
Và kết quả sẽ tương tự như sau:



Hiện tại, tác nhân puppet đang chạy trên hệ thống và chứng chỉ cho tác nhân đã được puppet master ký.

Bước 4 - Xác minh cấu hình tác nhân puppet​

Sau khi puppet master ký tệp chứng chỉ cho tác nhân, hãy chạy lệnh bên dưới trên tác nhân puppet để xác minh cấu hình.
Mã:
/opt/puppetlabs/bin/puppet agent --test
Và bạn sẽ nhận được kết quả như bên dưới.



Tác nhân Puppet đã kéo cấu hình từ puppet master và áp dụng cho máy chủ mà không có bất kỳ lỗi nào.

Bước 5 - Tạo Manifest đầu tiên​

Cài đặt và cấu hình puppet master và agent đã hoàn tất. Và đối với bước này, chúng ta sẽ tạo một manifest đơn giản để thử nghiệm.

Chúng ta sẽ tạo manifest cho quá trình cài đặt máy chủ web Apache httpd.

Trên máy chủ puppet master, hãy vào thư mục '/etc/puppetlabs/code/' và tạo tệp manifest mới 'site.pp' bằng vim.
Mã:
cd /etc/puppetlabs/code/
cd environments/production/manifests
Tạo tệp manifest mới.
Mã:
vim site.pp
Dán cấu hình sau.
Mã:
node 'agent.hakase.io' {
 package { 'httpd':
 sure => "đã cài đặt",
 }
 dịch vụ { 'httpd':
 đảm bảo => đang chạy,
 bật => true
 }
 }
Lưu và thoát.

Bây giờ hãy mở shell máy chủ puppet agent và chạy lệnh bên dưới.
Mã:
/opt/puppetlabs/bin/puppet agent --test
Lệnh sẽ lấy tệp cấu hình manifest mới từ puppet master rồi áp dụng vào máy chủ agent.

Sau đây là kết quả.



Mở trình duyệt web của bạn và nhập địa chỉ IP của puppet agent.


Và bạn sẽ nhận được trang HTTP mặc định như bên dưới.



Máy chủ web httpd đã được cài đặt bằng puppet manifest.

Quá trình cài đặt và cấu hình Puppet Master và Puppet Agent trên CentOS 7 đã hoàn tất thành công.

Tham khảo​

 
Back
Bên trên