Müşterilerimiz İletişim EN

Chef ile Yapılandırma Yönetimi

Bu sene Kartaca’da stajımı ürün ve sistem yönetimi üzerine yapıyorum. İlgilendiğim konu ise Chef. Baya sıkıntılar yaşatsa da Chef ile ilgili birçok şey öğrenmiş olduğumu fark etmek hoşuma gidiyor. Tabii öğrenecek daha çok şey var. Ama kendi bildiklerimi aktarmanın, hatta zamanı gelip unuttuğum bazı şeylere geri dönüp bakabilmenin önemli olduğunu düşünüyorum. O sebeple elimden geldiğince ve bildiğim kadarıyla Chef nedir, nasıl çalışır, nasıl kurulur, cookbook nedir gibi birçok şey yazacağım. Yanlış bir nokta gördüğünüzde bunu düzeltirseniz sevinirim. Sonuçta bende kendi çabamla öğreniyorum ve benim bir şeyi herhangi bir şekilde yapabilmiş olmam onun doğru bir yol olduğu anlamına gelmez. Şimdi gelelim Chef’in ne olduğuna.

 

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ı
   

Bu resimden ne anlıyoruz?

  • 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ı var 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ı.


Yazan: Kartaca



Kategoriler

Tümü Açık Kaynak (27) Android Anthos Çekirdekten Yetişenler Çevik Metodoloji Çocuklar ve Teknoloji (2) Ödeme Sistemleri (2) Üretim Sektörü (5) B2B Pazarlama (5) Bamboo Büyük Ölçekli Şirketler (4) BT Bulut (156) Buluta Geçiş (19) Bulutta Yerel Yazılım Geliştirme (4) C++ Chef ClickHouse Dayanıklılık DevOps (13) Dijital Pazarlama (11) Dijital Yerli Firmalar (3) Django (2) E-ticaret (8) Enerji Sektörü Eğitim Sektörü (7) Felaket Kurtarma (2) Finansal Hizmetler (4) FinOps (3) Firebase (10) Flutter Güvenlik (14) Git Golang (2) Google Cloud (107) Google Labs (14) Google Maps (2) Google Workspace (27) Helm Hibrit ve Çoklu Bulut (8) JavaScript Kadınlar ve STEM (3) Kamu Sektörü (2) KOBİ (5) Kubernetes (5) Kullandığımız Teknolojiler (24) Kullanıcı Arayüzü ve Kullanıcı Deneyimi Linux (6) Looker (7) MariaDB Mobil Uygulama Geliştirme (2) MySQL OpenStack (4) Oyun Sektörü (15) Perakende (13) PostgreSQL Proje Metodolojileri Python (7) Sadakat Programı (5) Sağlık ve Yaşam Bilimleri Sektörü (3) Sürdürülebilirlik (6) Sektöre Özgü Bulut Çözümleri (40) Selenium (2) Sigorta Sektörü Sistem Mimarisi (7) Tüketici Ürünleri (2) Tedarik Zinciri ve Lojistik (3) Teknoloji, Medya, Telekom (3) Terraform Test Etme (4) Turizm ve Eğlence (4) Ulaşım Sektörü (2) Uygulama Modernizasyonu Veri Analitiği (35) Veri Bilimi (2) Veri Depolama Veri Görselleştirme (7) Veri Tabanı (4) Versiyon Kontrolü Yapay Zeka - Makine Öğrenmesi (142) Yasal Uyum Yazılım Geliştirme (9) Yazılım Tarihi (3) Yazılımcı Deneyimi (8) İK Uygulamaları (9) İnşaat Sektörü İşe Alım (7)
Daha Fazla Kategori Göster >> Kategorileri Gizle >>

Kartaca sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin