Chef nedir?
Chef Ruby ve Erlang ile yazılmış bir yapılandırma yönetim aracıdır diyor wikipedia. Sistem yapılandırmasını otomasyona bağlama görevini yerine getirir.
Peki bu neden çözülmesi gereken bir problem kapsamına girer?
- Altyapı sürekli değişir, özellikle 'Bulut' sistemlerde
- Farklı işletim sistemleri
- Farklı markaların farklı donanımları
- Yığındaki farklı uygulamalar
Chef ile tam olarak ne yapabilirsiniz?
- Chef tarafından desteklenen sunucuları başlatıp/kapatabilirsiniz
- Yeni sunucuların üzerine işletim sistemi kurabilirsiniz
- Sunucuların üzerine uygulama kurabilirsiniz
- Yeni uygulamanın ortamına uygun yapılandırılmasını sağlayabilirsiniz
Chef'in temel yapı taşları nelerdir?
- Ortamlar (enviroment)
- Nodelar
- Cookbooklar
- Tarifler (recipe)
- Dosyalar/Şablonlar (files/templates)
- Attributesler
- Data Bagler
- Arama
- Ve daha fazlası
- Chef'te bir sürü katman bulunur: Enviroment, node, role, cookbook ...
- Chef nodeları çevreler içinde gruplar.
- Nodelar bir ya da birden fazla rolü içerir.
- Rol bir ya da daha fazla sayıdaki cookbook'un birleşiminden oluşur.
- Cookbooklar birden fazla tarif (recipe), şablon (template), dosyaların birleşiminden oluşur.
Chef'in 3 temel parçası avr diyebiliriz. Birisi chef-server diğeri node'ları yöneten chef-client sonuncusu ise sistem yöneticisinin bunları yönettiği workstation.
Chef bileşenlerinin birbiriyle ilişkisi |
Resimden açıkça görüldüğü gibi cookbookları ya da ayarları workstationda düzenleyip knife aracılığı ile chef sunucusuna gönderiyoruz. Chef istemcisi ise belirlenen çalışma zamanlarında sunucudan yapılandırma bilgilerini alıp bunları nodelar üzerinde uyguluyor.
Knife nedir?
Workstationdan sunucuyla ilişki kurmaya yarayan bir komut satırı aracı kendisi. Knife kullanıcıların nodeları, cookbookları, rolleri, çevreleri, data bagleri gibi şeyleri kontrol edebilmesini sağlar.
Bir sonraki yazıda chef-server ve chef-client kurulumları ile nodeları tanımlamayı yazacağım. Bu benim en zorlandığım yerdi diyebilirim. Hala tam kavradığımdan emin olamıyorum doğrusu.
Son olarak Chef öğrenmek için bazı linkleri paylaşayım her ne kadar google'a yazıldığında çıkacak ilk linkler olsa da.
1. http://docs.opscode.com/ Resmi dökümantasyon. Kurulum açısından çok yardımcı olmadı doğrusu ama sorun çözme kısmını sevdim.
2. http://learnchef.getharvest.com/introduction.html Bu yazıyı yazmak için kullandığım kaynaklardan biri.
3. http://webchat.freenode.net/?channel=chef IRC #chef kanalı.
Hiç yorum yok:
Yorum Gönder