Juju otomasyon sürecini “bir adım öteye” taşıyarak Şef'le nasıl “birlikte var”?


15

Açıkça görüldüğü bu yazı Juju Chef sunucusu farklı bir katmanda oturur söyledi. Juju düzenleme veya hizmet katmanında, Şef ise daha çok bireysel sunucu veya yapılandırma katmanında oturuyor .

At Canonical'ın ana Juju sayfaların birinde , bu Juju şef ve Kukla gibi araçlarla "arada var", süreç alarak "daha ileri bir adım" olarak tasarlandığını belirtiyor. Son birkaç haftadır interneti bu konuda araştırdım ve Şef gibi bir aracın Juju ile birlikte nasıl var olacağına dair iyi bir açıklama bulamıyorum .

Yani, başlıktaki genel soruyu yıkmak için: (Juju'nun Şef Sunucu ile birlikte çalışmasına özellikle ilgi)

  • "Chef'de yazılmış" bir cazibe örneği nedir? Bash'da yazılmış ve daha sonra chef-solokomutu çağıran bir cazibe mi? Eğer öyleyse, bir cazibechef-client bir Şef Sunucu ile birlikte çalışmak komutu mi?
  • Juju ve Şef arasındaki çakışma nerede? Örneğin, apache2 tılsımıconfig-changed Chef dünyasında, bir şablon dosyası uygulayarak bir tarifte yer alacak yapılandırma değişikliklerini kancaya . Bir Juju cazibesi, bir apache2 hizmeti (küme) dağıtımı üzerine bir Şef yemek kitabı ile birlikte çalışacak olsaydı, neredeyse bir "apache2-şef" cazibesinin yazılması gerekecekti, böylece görevleri ayırabileceksiniz. Bu durumda, Charm Store'daki apache2 cazibesi daha az yardımcı olacaktır.
  • Juju tarafından dağıtılan / yönetilen düğümlere (hizmet birimleri) Şef rolleri uyguladıysanız ve sistem yöneticiniz belirli bir sunucu rolü için güvenlik duvarı kurallarını değiştirmeye karar verirse ve bunu Şef rolünde yaparsa, Juju bu değişikliklerin üzerine yazacak mı?
  • Daha basit olarak, Juju, Ironfan gibi bir Şef Sunucusu sarıcı olabilir mi?

Ben şef Sunucusu görüntülemek how yapabilirsiniz Juju oysa how , aynı zamanda getiriyor ne masaya. Bu, hizmetlerin ve makinelerin gerçek mevcut durumunun sorgulanabileceği ve üzerinde işlem yapılabileceği anlamına gelir. Bunu Chef Server'da yapamazsınız. Amacım Juju'nun farkındalık ve hizmet düzenleme yeteneğini Şef Sunucusu tarafından yönetilen bir altyapıya getirmek.

Neredeyse tüm Şef tarafından yönetilen görevlerin / yapılandırma bilgilerinin dışarıda bırakıldığı bir dizi takılar yazılması gerektiği anlaşılıyor.

Kanonik birinden (Jorge Castro gibi) ve Opscode'dan (A. Jacob veya J. Timberman gibi) tartıları duymak isterim.

Yanıtlar:


13

harika sorular!

tl; dr

Sorularınızı birkaç yorumdan ayırmak istiyorum ... ilk önce, şef ve juju'yu entegre etmek için birkaç genel yaklaşım var:

  • takılar kancaları servis ünitelerinde solo tarzda çalışan şef tariflerini kullanabilir (önerilir)

  • juju servis birimleri mevcut bir şef sunucusuna bir şef düğümü alt servisi kullanarak kaydolur

Bu fikirler henüz şef için uygulanmadı / test edilmedi, ancak kukla eşdeğerleri var.

... um .. çok kısa olmayan cevap

İşte şef ve juju'yu entegre etmek için iki yaklaşımın bir dökümü:

Üst köpek olarak Juju

Juju şovu yönetiyor. Juju'nun sağladığı en büyük değer, dağıtılmış konfigürasyon yönetimi sırasında olay koordinasyonu ... dolayısıyla "hizmet düzenleme" lakabıdır. Juju takılar, juju tarafından "doğru zamanda" servis yönetimini koordine ederken çağrılan kancalardan oluşur. Bu kancaların uygulanması hemen hemen açıktır. Kabuk senaryoları, kaynak kodu, kukla tezahürleri veya ... şef tarifleri.

Juju, herhangi bir hizmet yapılandırmasının bitlerini aşağıdakilere böler:

  • "kurulum" .. belirli bir servisi bir düğüme kurmaya özgü bitler

  • "ilişki" .. bu hizmeti başka bir hizmetle ilişkilendirmek için gereken yapılandırma bitleri

Şef tariflerini kanca uygulamaları olarak kullanmanın anahtarı tam olarak budur ... Kullandığınız tariflerin endişelerin bu ayrılığına saygı gösterdiğinden emin olmalısınız. Aksi takdirde, hazır yemek kitaplarının kullanılmasını engelleyen hiçbir şey yoktur. Geliştirmek için zaman / para harcadığınız mevcut tariflerden yararlanabilirsiniz .... Sadece ilişkiye özgü şeyleri, kuruluma özgü şeylerden ayrı olarak çağırabildiğinizden emin olmanız gerekir.

Bunun bazı örneklerine ihtiyacımız var, ancak b / c şefinin harika bir dsl'ye, harika bir templating aracına sahip olduğunu ve karmaşık yapılandırma yazarken bash'tan çok daha hoş olduğunu düşünüyorum. Basit yapılandırma için, şef tarifleri biraz aşırı imo, bu yüzden bu entegrasyon yöntemi her iki dünyanın en iyisi ... ve ileriye doğru ciddi bacaklara sahip.

Şef olarak üst köpek

Buradaki fikir, juju hizmetlerini mevcut bir şef-sunucu tarafından yönetilen altyapıya entegre etmektir. Bunu yapmak için bir şef düğümü bağımlı cazibesi yazmanız gerekir. Bu alt hizmet, birincil juju hizmetlerine eklenir ve bu hizmetleri şef sunucusuna düğümler (özellikle roller) olarak etkin bir şekilde kaydeder. Subslar, juju servisinin başlatılması sırasında veya her servisin yaşam döngüsü boyunca herhangi bir zamanda eklenebilir.

Bunun kukla düğümü alt grubuna oldukça benzer olacağını düşünüyorum. Gerekli tüm anahtarlar, roller, vb. Yapılandırma yoluyla şef düğümü bağımlı çekiciliğine belirtilir. Oradan başlardım. Daha karmaşık bir yaklaşım, şef düğümü altının, bağlı olduğu birincil hizmeti ve şef sunucusunu rolleri dinamik olarak belirlemek için sorgulamasıdır, ancak bu, alt için yapılandırmada belirtmekten biraz daha zor olurdu.

Görüşler

Mümkünse yukarıdaki yöntem 1'i kesinlikle tavsiye ederim. Koordinasyon katmanının yapılandırma araçlarının üstünde olması muhtemelen uzun vadede iyi sonuç verecektir. Söylemeye gerek yok, gerçek dünyadaki altyapılar bir süredir bir arada veya her iki yaklaşımın da bir çeşitliliği olabilir ... özellikle göç sırasında. Yöntem 2'yi kullanarak planlanan birlikte yaşama, muhtemelen her iki araç tarafından yönetilen bileşenler birbirine biraz dik olsaydı işe yarardı. Tam olarak neye benzeyeceğinden emin değilim. Belki juju ve şef nispeten ayrı ayrı hizmetleri yönetmek? Juju'nun birincil hizmetleri yönetmesine ve şefin daha fazla altyapı yönünü yönetmesine izin vermenin iyi çalışacağından şüpheleniyorum. Dunno. Bu biraz daha uzun bir tartışma olsa da :)

Yan not ... juju'yu şef sunucusunun kendisini yönetmek için de kullanabilirsiniz ... büyük karmaşık çok katmanlı şef sunucu kurulumlarını bile. Son zamanlarda şef-sunucu cazibesine bakmadım, ancak şu anda katmanlama ve hizmet ayrımı işlemiyorsa, o zaman kesinlikle yapılabilir.

Yukarıda belirtilen her iki şef entegrasyonu türünün daha fazla örneğini görmek isterim ... bir süredir benim dilek / yapılacaklar listemde yer aldı, ancak henüz yapılması için öncelikli olarak yeterince şişmedi ... lütfen yardım edin ilgileniyorsun!

tamam, bu iyi bir tıkırdama yığını :)) oradan başlayalım, daha sonraki yorum bloklarında daha fazla ayrıntıya girebiliriz.


burada harika şeyler. "Juju'nun birincil hizmetleri yönetmesine ve şefin daha fazla altyapı yönünü yönetmesine izin vermenin iyi çalışacağından şüpheleniyorum." Bu şüpheyi paylaştığımız için gerçekten ilgilendiğim şey bu. Söylediğiniz gibi, Chef'in DSL ve şablonlaması yapılandırma için mükemmeldir. Ancak, Chef Server'ın (veri torbaları) ilk yönteminizde bırakılması zor olan başka yönleri de vardır. Juju, hizmet düzeyinde olmak, en iyi köpek olmalı, ancak Şef'in Şef Sunucu modelinde en iyi olanı yapmasına izin vermesi gerektiğini hissediyorum. Hem geliştiriciler hem de yöneticiler için çalışmalıdır. Ama belki Chef Server'a gerek yok.
Ian D. Rossi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.