Puppet Otomasyon Yazılımı Kurulumu
Puppet belli bir ölçeğin üzerindeki ortamlarda sıklıkla yapılan veya çok sayıda cihaza uygulanan değişikliklerin otomasyonunu sağlayan yazılımdır. Sistem yöneticileri puppet kullanarak sunucu kaynakları üzerinde provizyonlama, yapılandırma ve çeşitli yönetsel işlemleri yapabilirler. Amaç tekrarlanan veya çok sayıda cihazda tek tek yapılacak işlemleri otomatik bir şekilde uygulayarak zaman kazanmaktır. Puppet sadece sunucular için değil bilişim altyapınızdaki ağ cihazları, işletim sistemleri, yazılımlar ve servisler gibi bir çok bileşeni akıllıca yönetmek için tasarlanmıştır.
PuppetLabs tarafından dağıtılan Puppet, “enterprise” ve açık kaynak olmak üzere iki sürüme sahiptir. Bu yazıda bir çok Linux, Unix ve Windows platformlarında çalışan açık kaynak kodlu sürümün Ubuntu 14.04 üzerinde Master/Agent kurulumu ele alınacaktır. Bunun için merkezi bir PuppetMaster sunucu ile örnek bir istemci sunucu kurulumu anlatılacaktır.
İçindekiler
Gereksinimler
PuppetMaster Sunucusu: Puppet master yazılımını kurmak üzere Ubuntu 14.04 yüklü sunucu
Puppet Client Sunucusu: Puppet client yazılımını kurmak ve testler için Ubuntu 14.04 yüklü sunucu
Özel DNS sunucusu: Ağda bulunan sunucuların isimlerini çözmek üzere “forward” ve “reverse” kayıtların tutulduğu DNS sunucusu (Kurulum için daha önceki yazıya göz atabilirsiniz)
Güvenlik duvarı kuralları: İstemci sunucuların master sunucuya “8140” nolu TCP portu üzerinden erişimini sağlayan güvenlik duvarı kuralı
Örnek Mimari
Bu yazıda aşağıdaki gibi bir ortamı kullanacağız.
| Sunucu | Rolü | FQDN | IP Adresi |
| puppet-master | Master sunucu | puppet-master.vm1.huseyincotuk.com | 10.61.2.116 |
| puppet-client | İstemci sunucu | puppet-client.vm1.huseyincotuk.com | 10.61.2.117 |
| ns1 | Birincil Alan Adı Sunucusu | ns1.vm1.huseyincotuk.com | 10.61.2.118 |
| ns2 | İkincil Alan Adı Sunucusu | ns2.vm1.huseyincotuk.com | 10.61.2.119 |
MASTER Sunucu Kurulumu
Master sunucu diğer istemciler için bir sertifika otoritesi olduğundan sunucular arasında bir tutarsızlık olmaması için zaman sunucusu olarak da hizmet vermelidir. Bu amaçla öncelikle NTP servisi kurulmalıdır. Önce “ntpdate” komutu ile bir defaya mahsus senkronizasyon sağlanmalı, ardından paket kurulumu yapılmalıdır.
|
1 2 |
sudo ntpdate pool.ntp.org sudo apt-get update && sudo apt-get -y install ntp |
Coğrafik olarak en yakın olan sunucular ntp.conf dosyasına eklenerek servis yeniden başlatılır.
|
1 2 3 4 5 6 7 8 9 |
sudo vi /etc/ntp.conf ... server 0.tr.pool.ntp.org server 1.tr.pool.ntp.org server 2.tr.pool.ntp.org server 3.tr.pool.ntp.org ... sudo service ntp restart |
Açık kaynak kodlu Puppet sürümünü kurmak için PuppetLabs paketi indirildikten sonra puppet-master-passenger paketi kullanılacaktır. Bu paket puppet-master paketinin yanında passenger içeren Apache web sunucusu da kurmaktadır.
|
1 2 3 4 |
cd ~; wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb sudo dpkg -i puppetlabs-release-trusty.deb sudo apt-get update sudo apt-get install puppetmaster-passenger |
Böylece puppet-master, Passenger ve Apache ile birlikte kurulmuş olacaktır. Sadece Apache çalıştığı durumlarda puppet-master hizmet verecektir. Şimdilik Apache web sunucusu durdurulmalıdır.