Chef Server'da cookbookları depolayabiliriz demiştik, her cookbook'un kendi içeriğindeki dosyalara göre de sunucuları yapılandırabiliriz. Chef istemcileri de Chef sunucusundan nasıl davranması gerektiği bilgisini alır ve ona göre sunucuyu yapılandırır. Chef Server Erlang kullanılarak yazılmıştır ve Chef Server'ın sağladığı hizmetler aşağıdaki bileşenlerle sağlanır:
Bookshelf: Bookshelf ile cookbook dosyalarının depolanması ve workstationdaki cookbookların Chef sunucusuna gönderilmesi sağlanır. Eğer farklı cookbooklar aynı dosyayı içeriyorsa ya da aynı cookbookun farklı sürümlerinde aynı dosyalar varsa Bookshelf bu dosyaları sadece bir kez depolar.
WebUI: Ruby on Rails ile kodlanmış, Chef Server için bir arayüzdür.
Erchef (Erlang API Server): Chef Server için bir API'dir. Bu API hala orjinal Ruby tabanlı Chef Server için uyumludur.
Mesaj Kuyruğu: Mesajlar search indexlerine gönderilirler. RabbitMQ Chef Server'da mesaj kuyruğu olarak için kullanılır.
Nginx: Chef Server için yük dengeleyici (front end load balancer) olarak kullanılan bir sunucudur. Chef Server Api'sine gelen tüm istekler Nginx sayesinde yönlendirilirler.
PostgreSQL: Verileri tutmak için kullanılan depodur.
Hiç yorum yok:
Yorum Gönder