Puppet Yazı Dizisi 1: Puppet Kurulumu

Puppet Otomasyon Yazılımı Kurulumu

puppetPuppet 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.

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.

Coğrafik olarak en yakın olan sunucular ntp.conf dosyasına eklenerek servis yeniden başlatılır.

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.

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.