23 Haziran 2014 Pazartesi

Puppet'a Giriş ve Debian Wheezy'ye Kurulumu

Bu yaz, stajımda Puppet ile çokça zaman geçireceğim. Giriş niteliğinde okuduklarımı ve denediklerimi sizlerle paylaşmak istedim.

Puppet, Ruby dili ile yazılmış bir yapılandırma yönetimi aracı. Aslında bu yapılandırma yönetimi 3 şekilde oluyor. 

1. Elle (manuel)
2. Kurulum sırasında
3. Araç kullanarak

Araç kullanmak bizi birçok uğraştan kurtarıyor. Sunucularımızı nasıl yapılandırmak istediğimizi tarif ediyoruz ve kullandığımız araç yapılandırmayı tarife göre uyguluyor. 

Puppet'ın yapılandırma dosyası (/etc/puppet/puppet.conf) 3 kısımdan oluşuyor.

main: Özel olarak belirtilmiş yapılandırma ayarları yoksa geçerli olacak ayarları içerir.

master: Puppetmaster (yönetim birimi) içindir.

agent: Puppet istemcisi yönetimi içindir.

2 modda çalıştırılabiliyor. "Sunucu-İstemci Mod" ve "Bağımsız Mod".  

Sunucu-İstemci Modu:

Puppetserver: Tüm yapılandırma dosyaları masterda bulunur. CA (Certificate Authority), SSL keyleri tutar. Verilerin şifrelenerek iletişimde olmasını sağlar.

Node: 3o dakikada bir mastera sistem bilgilerini yollar. Master, istenilen yapılandırma durumunu belirten bir katalog yollar. Node, kataloğu uygulayıp mastera raporlar. 

Bağımsız (Standole) Mod: Sunucu-İstemci modu gibi çalışır, tek farkı yapılandırma dosyalarının locale'de bulunmasıdır.

Ben Puppet'ı denemek için sanalda iki makinaya Debian kurdum. Birini master, birini agent olarak ayarladım. Şimdi bu kısımı açıklayayım.

İlk makinayı master yapalım.

1. deb paketini çekip paketi yükleyelim.
#wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb 
#dpkg -i puppetlabs-release-wheezy.deb

2. Paket listesini güncelleyelim.
#apt-get update 

3. İsteğe bağlı önsürümler için etkinleştirme:

/etc/apt/sources.list.d/puppetlabs.list dosyasında aşağıdaki bölümde #'yi kaldırarak yapılıyor.

# Puppetlabs devel (uncomment to activate)
 deb http://apt.puppetlabs.com precise devel
# deb-src http://apt.puppetlabs.com precise devel 
 
4.  Master sunucuyu kuralım.
 $ sudo apt-get install puppetmaster 

Son sürüme yükseltmek için: 
 $ sudo apt-get update
 $ sudo puppet resource package puppetmaster ensure=latest

Diğer makinamızı da agent yapmak için aşağıdaki komutu vermemiz yeterli.
 $ sudo apt-get install puppet
 Yine son sürüm için update dedikten sonra:
  $ puppet resource package puppet ensure=latest
Bir sonraki yazımda bu iki makina arasındaki çalışmanın ne şekilde olduğundan bahsedeceğim. 
Esen kalın :)