Kukla ustası
Puppet'te, Puppet master'ın istemci sunucu mimarisi, tüm kurulumun kontrol yetkisi olarak kabul edilir. Puppet master, kurulumda sunucu görevi görür ve tüm düğümlerdeki tüm etkinlikleri kontrol eder.
Puppet master olarak çalışması gereken herhangi bir sunucu için Puppet sunucu yazılımının çalışıyor olması gerekir. Bu sunucu yazılımı, düğümler üzerindeki tüm etkinlikleri kontrol etmenin temel bileşenidir. Bu kurulumda, hatırlanması gereken önemli bir nokta, kurulumda kullanacağınız tüm makinelere süper kullanıcı erişimine sahip olmaktır. Puppet master'ı kurma adımları aşağıdadır.
Önkoşullar
Private Network DNS- İleri ve geri yapılandırılmalıdır, burada her sunucunun benzersiz bir ana bilgisayar adı olmalıdır. Yapılandırılmış DNS yoksa, altyapı ile iletişim için özel bir ağ kullanılabilir.
Firewall Open Port- Puppetmaster belirli bir limanda gelen istekleri dinleyebilmesi için belli bir limanda açık olmalıdır. Güvenlik duvarında açık olan herhangi bir portu kullanabiliriz.
Puppet Master Sunucusu Oluşturma
Oluşturmakta olduğumuz kukla ustası, ana bilgisayar adı olarak Puppet kullanan CentOS 7 × 64 makinesinde olacak. Puppet master'ın oluşturulması için minimum sistem yapılandırması, iki CPU çekirdeği ve 1 GB bellektir. Bu master ile yöneteceğimiz düğüm sayısına bağlı olarak yapılandırmanın boyutu da daha büyük olabilir. Altyapıda 2 GB RAM kullanılarak yapılandırıldığından daha büyüktür.
Ana Bilgisayar Adı | Rol | Özel FQDN |
---|---|---|
Brcleprod001 | Kukla ustası | bnrcleprod001.brcl.com |
Daha sonra, Puppet master SSL sertifikası oluşturmak gerekir ve ana makinenin adı tüm düğümlerin yapılandırma dosyasında kopyalanacaktır.
NTP yükleme
Puppet master, herhangi bir kurulumda aracı düğümleri için merkezi otorite olduğundan, düğümlere ajan sertifikaları verdiğinde ortaya çıkabilecek olası yapılandırma sorunlarından kaçınmak için doğru sistem süresini korumak Puppet master'ın temel sorumluluklarından biridir.
Zaman çakışması sorunu ortaya çıkarsa, ana ve düğüm arasında zaman farklılıkları varsa sertifikaların süresi dolmuş görünebilir. Ağ zaman protokolü, bu tür sorunları önlemek için anahtar mekanizmalardan biridir.
Kullanılabilir Saat Dilimlerini Listeleme
$ timedatectl list-timezones
Yukarıdaki komut, mevcut zaman dilimlerinin tam bir listesini sağlayacaktır. Bölgelere saat dilimi kullanılabilirliği sağlayacaktır.
Makinede gerekli zaman dilimini ayarlamak için aşağıdaki komut kullanılabilir.
$ sudo timedatectl set-timezone India/Delhi
CentOS makinesinin yum yardımcı programını kullanarak NTP'yi Puppet sunucu makinesine kurun.
$ sudo yum -y install ntp
NTP'yi yukarıdaki komutlarda belirlediğimiz sistem zamanı ile senkronize edin.
$ sudo ntpdate pool.ntp.org
Yaygın uygulamada, NTP yapılandırmasını, makine veri merkezlerine daha yakın olan ortak havuzları kullanacak şekilde güncelleyeceğiz. Bunun için ntp.conf dosyasını altında düzenlememiz gerekiyor/etc.
$ sudo vi /etc/ntp.conf
Mevcut NTP havuzu zaman dilimlerinden zaman sunucusunu ekleyin. Aşağıda ntp.conf dosyasının nasıl göründüğü anlatılmaktadır.
brcleprod001.brcl.pool.ntp.org
brcleprod002.brcl.pool.ntp.org
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org
Yapılandırmayı kaydedin. Sunucuyu başlatın ve arka plan programını etkinleştirin.
$ sudo systemctl restart ntpd
$ sudo systemctl enable ntpd
Puppet Server Yazılımını Kurun
Puppet server yazılımı, Puppet master makinesinde çalışan bir yazılımdır. Puppet aracı yazılımını çalıştıran diğer makinelere konfigürasyonları gönderen makinedir.
Aşağıdaki komutu kullanarak resmi Puppet labs koleksiyon havuzunu etkinleştirin.
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
Puppetserver paketini yükleyin.
$ sudo yum -y install puppetserver
Puppet Sunucusunda Bellek Tahsisini Yapılandırma
Tartıştığımız gibi, varsayılan olarak, Puppet sunucusu 2GB RAM makinesinde yapılandırılır. Kurulumu, makinede bulunan boş belleğe ve sunucunun kaç düğümü yöneteceğine göre özelleştirilebilir.
Vi modunda kukla sunucu yapılandırmasını düzenleyin
$ sudo vi /etc/sysconfig/puppetserver
Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation.
We will allocate 3GB of space
JAVA_ARGS="-Xms3g -Xmx3g"
Bittiğinde, kaydedin ve düzenleme modundan çıkın.
Yukarıdaki tüm kurulum tamamlandıktan sonra, aşağıdaki komutla ana makinede Puppet sunucusunu başlatmaya hazırız.
$ sudo systemctl start puppetserver
Daha sonra, ana sunucu her başlatıldığında kukla sunucunun başlaması için kurulumu yapacağız.
$ sudo systemctl enable puppetserver
Puppet.conf Ana Bölüm
[master]
autosign = $confdir/autosign.conf { mode = 664 }
reports = foreman
external_nodes = /etc/puppet/node.rb
node_terminus = exec
ca = true
ssldir = /var/lib/puppet/ssl
certname = sat6.example.com
strict_variables = false
manifest =
/etc/puppet/environments/$environment/manifests/site.pp
modulepath = /etc/puppet/environments/$environment/modules
config_version =