Her şeyi kukla mı, değil mi?


10

Not: Çok fazla teorik soru var.

Son zamanlarda, kukla (ve benzer sistemler) hakkında okuyorum, bu da - inandığım gibi - işimi çok kolaylaştırabilir. Ama ne kuklalaşabileceğimi anlamaya çalışıyorum - ve ne yazık ki yapamıyorum. Daha fazla sunucuda aynı yapılandırma olan "bulutlar" veya HA kümeleri hayal edebiliyorum. Peki ya iş istasyonları? Bir pc (kvm ile centos), bir dizüstü bilgisayar (fedora) ve kişisel sunucum var, kuklalanabilir mi (yoksa mı)? (Dis) avantajları nelerdir? Ya da şirketimizde yüzlerce sunucumuz var (çoğunlukla centoslu), ancak her biri biraz farklı. Bir yerde çok sayıda yapılandırmaya sahip olmanın daha iyi olup olmadığına karar veremiyorum .. (Dis) avantajları? Bu konuyla ilgili tüm görüşleriniz veya bağlantılarınız için mutlu olacağım.


Windows sistemlerinizin hiçbirini "Kuklalaştırmaya" çalışmamanızı tavsiye ederim. Oh, ve burada ne tür sorular sormanız gerektiğiyle ilgili SSS bölümümüzü okuyun .
HopelessN00b

7
Kukla yaptığınız şeylerin miktarı ve ne kadar kukla eşyası varsa, sizin için yapılan göreve önem verdiğiniz miktarla doğru orantılı olmalıdır. Küçük başlayın, sadece ntp yapılandırmasını kuklalayın veya rsyslog. Sonra ihtiyacınız olduğunda ve ihtiyacınız olduğunda, gerektiğinde oradan inşa edin.
Sirex

1
Benim yerimde zaten çok sayıda sunucu bulunduğundan, önerim, her bir sistemde ortak olan bitlerle basit bir şekilde başlamanız, sonra zamanınız olduğunda daha spesifik ayrıntılı şeylere girmeye başlamanızdır.
Zoredache

1
Puppet'in son sürümlerinde Windows desteği önemli ölçüde gelişti. Kukla ile yüzlerce Windows düğümünü yönetiyorum. POSIX düğümlerindeki kukla çok daha basit ve güçlüdür, ancak Windows'ta en azından bazı şeyler için Kukla kullanmak inanılmaz derecede faydalı olabilir.
czervik

Yanıtlar:


16

Tüm bir ortamı kuklalayabilme derecesi çeşitli değişkenlere bağlıdır:

  • Otomasyon personelinin her biri için otomasyon yazma isteği. Biraz. şey.
  • "Ben sadece bu bir şeyi değiştireceğim, yine de bir kereye mahsus" sağlayan kültürel koşullandırma, "Bu kukla manifest'te sadece bir şeyi değiştireceğim ve şimdi uygulayacağım; sadece bir defalık ."
  • Bir ortamdaki heterojenite derecesi.

Kuklalaştırılabilecek her ********** şeyleri kuklalamak kesinlikle mümkündür, ancak oraya ulaşmak, kukla uyumlu bir cihaza dokunabilen herkesin doğru kültürünü ve satın alınmasını gerektirir. Bazı cihazları bu şekilde yönetmek zordur, iş istasyonları gibi şeyler ve kukla bir hazırlama aracı olarak bir yapılandırma yönetim motorundan daha iyidir.

Kukla, hepsi aynı şeyi yapan bir sanal makine filosunu yönetirken harika. Toplam galibiyet ve oraya ulaşmak için çok çaba sarf etmiyoruz.

Spektrumun diğer ucunda, 130 hizmet veren 200'den fazla sunucu ve birden fazla makineyle bunu yapan küçük bir grup olan son işim vardı. Orada kesinlikle şirketleri (ve üniversiteler) bu tür şeyler puppeted var, ama bu çaba bir sürü ve giriş ücreti çok zaman alır. Bu sizin yeni makine dağıtma işleminin ilk adımı gerektirir değil olmak "OS Install" ama "manifestoyu oluşturmak".

Nihayetinde, tüm BT personeliniz arasında çözmeniz gereken verimli bir kültürel meseledir.


13

TÜM ŞEYLERİ KUKLA

Tüm sistemlerde (veya bunların bir alt kümesinde) makul derecede benzer olan veya bir şablonu, elde edebileceğiniz bir gerçeğe dayandırabileceğiniz her facterşey adil bir oyundur.

Gerçekten benzersiz olan şeyler, muhtemelen rahatsız etmemelisiniz ve sadece bir dosya kütüğünün yapılandırmalarını sunmalıdır.

Her iki kategoriye giren şey, ortamınızı yakından bilmeden veremeyeceğimiz bir karardır, bu yüzden anlamanız gerekir.


6

Sanırım başkaları bunun nedenini ele aldılar, bu yüzden nasıl olduğunu anlayacağım. Sanırım birisinin Kukla'yı istediğini yapmak için nasıl kullanabileceğini anlayarak kararı daha net hale getireceğim.

Önce temel durumu yapın

Apache için Kukla modülünüz varsayılan olarak fazla bir şey yapmamalıdır. Apache'yi yükleyin, minimum standartta yapılandırın ve hizmeti başlatın. Bu işlemi desteklemeniz gereken tüm dağıtımlarda yapın.

İkinci olarak esneklik ekleyin

Hayalet eklememiz gerekiyor. İhtiyacınıza göre dosyayı bırakabilen veya bir dizi conf.d veya vhosts.d / dizininden kaldırabilecek bir sistem elde edersiniz. Modülleri etkinleştirme veya yapılandırma ile aynı şey.

Yapı taşlarınızı birbirine bağlamak için rol veya ana makine grubu sınıflarını kullanın

Kukla'yı kullanmanın en iyi yolunun katkı maddesi olduğundan emin olmak olduğunu düşünüyorum. Yukarıdaki örnekleri kullanarak,

  1. Apache Yükle
  2. Temel yapılandırmaları ayarlama
  3. Apache'ye vhost ekleyin
  4. Ek ayarları yapılandırın
  5. Apache'yi başlat

Belirli bir ana bilgisayar veya grup için tam olarak ihtiyacımız olanı yapmak için varsayılan Apache modülümüzü aşırı yüklemek yerine, bu bir rol veya hostgroup sınıfıdır.

class role::web_cust1 {
  include apache
  apache::vhost {'www.domain.com': }
  apache::vhost {'www.domain2.com': priority => '99', }
  include php
  include php-fpm
  include mysql
}

Yine katkı maddesi.

Hiera'ya özel durumlar koy

Kukla Hiera'ya izin vermenin büyük bir hayranıyım, bunu Kukla için bir veritabanı olarak düşünün, özel parçaları saklayın. Belirli bir ana makine veya ana makine grubunun özel bir ayara ihtiyacı varsa, önce normal kullanıcıların bunu bilmesine gerek kalmaması için modüle bir aklı başında varsayılanı koyun. Daha sonra bu özel ana makineler veya ana makine grupları için veri ekleyin, böylece Hiera bunu gerektiği şekilde Kukla'ya iletebilir.

Benim kullanım durumum Dinle portu. Bazı sunucular önünde Vernik veya haproksi bulunur. Varsayılan olarak Kukla modülünde Apache kullanım portu 80 vardır, ancak Hiera veri bulursa bu varsayılanı geçersiz kılar.


Rol modülü hiyerarşisini kullanıyorum ve iyi çalışıyor. Birçok rol oynayan birçok sunucunuzun olabileceği bir ortam oluşturmayı kolaylaştırır (örneğin, role :: web sunucularının bazıları role :: storage da olabilir).
Andy Shinn

5

Şu anda her şeyi Kuklalaştırmak için makul ölçüde benzer sistemleri Kuklalaştır arasında geçiş yapıyorum ve uzun vadeli, Kuklalaştır her şeyin daha iyi bir yaklaşım olduğuna ikna oldum.

Kukla tezahürlerinizi sürüm kontrol ederseniz (hepimiz bunu yaparız, doğru) altyapınız için sürüm kontrolünün tüm avantajlarından faydalanırsınız. Ekibiniz operasyon mühendisleri olur. Bu, özel, tek seferlik sistemler için homojen sığır çiftlikleri kadar önemlidir. Bir şeyi kimin değiştirdiğine, değiştirdiklerine, kesin değişikliğin ne olduğuna ve değişikliği geri alma yeteneğine ilişkin bir günlük elde edersiniz.

Şahsen ben de kendimi Kukla aracılığıyla her değişikliği yapmaya zorlamanın, değişiklik hakkında daha dikkatli düşünmemi sağladığını görüyorum. Manifestolar yazarken, her bir değişikliğe genellikle komut satırında hack ettiğimden daha dikkatli davranıyorum.

Kukla modülleriniz de daha iyi hale gelecektir. Birden fazla Nginx modülünüz var mı? Belki de bu, Nginx modülünüzün o kadar da iyi olmadığı ve tüm özel ihtiyaçlarınızı karşılayacak kadar esnek hale getirmeniz gerektiği anlamına gelir. En azından "özel" modüller için genişlettiğiniz bir çekirdek Nginx modülüne benzerlikleri soyutlayın.

Ayrıca, felaket olduğunda tüm özel ihtiyaç sunucularınızı mevcut durumlarına (yapılandırmayla ilgili olarak) geri yükleyebileceğinizden ne kadar eminsiniz? Dahili wiki'nize bir fabrika Ubuntu sunucusu almak için gereken her değişiklik Kuklalaştırılmışsa, dün Bob'un Tomcat bellek ayarlaması dahil wiki'nizin mevcut durumunu kolayca yeniden oluşturabilirsiniz.

Son olarak, bu gerçekten zor olabilir. Çok sayıda farklı sunucuyu yönetmek, işleri doğru yapmak için zaman ayırmazsanız bazı hacktastic Kukla kodlarına yol açabilir. Puppet Enterprise kullanmıyorsanız, verilerinizi manifestlerinizden ayırmaya yardımcı olması için hiera ve / veya Foreman gibi bir ENC düşünün. Her gün başka bir şeyi kuklala. Kukla'da bunun nasıl çalıştığını açıklarken bir iş arkadaşınız olsun. Her değişiklik kolaylaşacaktır.

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.