مقدمه
Puppet یک ابزار مدیریت پیکربندی بالغ است که از زبانی اعلانی برای تعریف وضعیت مطلوب زیرساخت استفاده میکند. بر خلاف Ansible (بدون agent)، Puppet از معماری master-agent استفاده میکند.
نصب Puppet Server
BASH
wget https://apt.puppet.com/puppet8-release-jammy.deb
dpkg -i puppet8-release-jammy.deb
apt update && apt install puppetserver
systemctl enable puppetserver && systemctl start puppetserverنصب Puppet Agent
BASH
apt install puppet-agent
echo "[main]
server = puppet.company.com" >> /etc/puppetlabs/puppet/puppet.conf
systemctl enable puppet && systemctl start puppetنوشتن Manifest
PUPPET
node 'webserver01.company.com' {
package { 'nginx':
ensure => installed,
}
file { '/etc/nginx/nginx.conf':
ensure => file,
content => template('nginx/nginx.conf.erb'),
notify => Service['nginx'],
}
service { 'nginx':
ensure => running,
enable => true,
}
}Hiera — جداسازی داده از کد
YAML
# data/common.yaml
profiles::webserver::max_connections: 1024اجرا
BASH
puppet agent --test # اجرای دستی
puppet agent --test --noop # حالت آزمونخلاصه
- Puppet برای مدیریت ناوگانهای بزرگ با پیکربندی ثابت عالی است
- از ماژولها برای سازماندهی کد و Hiera برای جداسازی داده استفاده کنید
- Agent هر 30 دقیقه بهطور خودکار بررسی میکند
