Soru Küçük çocuklar Kukla'yı nasıl etkili bir şekilde öğrenip kullanabilirler? [kapalı]


Altı ay önce, kar amacı gütmeyen projemizde, sistem yönetimimizi Kukla kontrollü bir ortama taşımayı başlatacağımıza karar verdik, çünkü sunucu sayımızın şu andan bugüne kadar bir yıl içinde büyümesini bekliyoruz.

Karar verildikten bu yana BT adamlarımız biraz fazla sıkıntı çektiler. Onların en büyük itirazları:

  • "Biz programcı değiliz, biz sysadmin'iz";
  • Modüller çevrimiçi olarak mevcuttur, ancak çoğu birbirinden farklıdır; jantlar çok sık yeniden icat ediliyor, tasarıya hangisinin uygun olduğuna nasıl karar veriyorsunuz;
  • Repo'umuzdaki kod yeterince açık değildir; bir şeyin, kendilerini bir süre önce bile yazmış olabileceği tezahürler ve modüller aracılığıyla nüksetmek zorunda kaldıklarını bulmak için;
  • Yeni bir artalanın yeni bir modül yazılmasını gerektirmesi, sözleşmelerin diğer modüllere benzemesi, zor bir süreç olması;
  • "Hadi koşalım ve nasıl çalıştığını görelim"
  • Topluluk modüllerinde pek bilinmeyen 'uzantılar' tonu: 'trocla', 'augeas', 'hiera' ... sysadmin'lerimiz nasıl takip edebilir?

Büyük bir örgütlenmenin, kukla ustaları olmak için kukla kurslarına neden onların sistemlerini göndereceğini görebiliyorum. Ancak, daha küçük oyuncular, kurslara gitmedikleri ve temelde tarayıcıları ve editörleri aracılığıyla öğrenecekleri takdirde, Kukla'yı profesyonel bir seviyeye çıkarırlardı.


106
2018-06-06 08:38


Menşei




Cevaplar:


Kukla'yı yeni bir altyapı kurmanın ve kullanmaya başladım.iyi kabul) konu hakkında kitap. Çoğu insanın profesyonel Kukla eğitimi aldığını sanmıyorum. Süreci çevremde kalıplayana kadar örnekler üzerinde çalıştım. Bu, Aralık 2011 idi, bu yüzden birkaç hafta içinde temelleri anlayabiliyor ve bir üretim çerçevesi kurabiliyordum. Yapılandırma yönetiminde yeni değildim, CFEngine arka plan, ancak birçok sysadmins'inizin endişeleri yankılanıyor. Hatalar yaptım ve birkaç kez tekrar düzeltmek zorunda kaldım, ama işleri tatmin edici bir şekilde yürüttüm.

Puanlarınızla ilgili birkaç not ...

  • Geleneksel sistem yönetimi rolü değişiyor. Uyum veya geride bırakılabilir. Başarılı bir sistem mühendisiyim, ama aynı zamanda retool yapmak zorundayım (örneğin, Python'u öğrenmek). Tek tek sunuculara odaklanma, sanallaştırma yoluyla donanım soyutlaması ve kamu ve özel bulut hizmetleri çekiş gücü kazanmasıyla azalır. Bu, sistem görevlerinin otomasyonu ve daha fazla sayıda sunucunun denetimini ele almak için yapılandırma yönetiminin kullanılması anlamına gelir. Eklemek DevOps kavramları karışıma ve göreceksiniz ki müşteri / son kullanıcı beklentileri ve şartlar değişiyor.

  • Online olarak sunulan kukla modülleri, stil ve yapı bakımından farklıdır ve evet, bir çok örtüşme, artıklık ve çoğaltılmış çaba gördüm. Çalıştığım bir geliştirici, "çalışmakta olan bir şey için çevrimiçi olarak baktığınız zaman kendi araçlarınızı geliştirmiş olabilirsiniz" dedi. Kukla'nın geliştirici tiplerine daha çok hitap etmesini beklediğim gibi durdu. en iyi uygulamaları ya da doğru yol yaklaşım.

  • Nesnelerin nasıl bağlandığına dair bir fikir edinmek için yoğun bir şekilde belgeleyin. Titrek tanımlar ve bir standart Yaptığınız şeylerin biçimi, konfigürasyon yönetim yapınız gerçekten sizin ortamınıza özgüdür. Bu şeffaflığın içinde geliştirilmesi gerekecek.

  • Sunucularınızı ve rollerinizi nasıl düzenlediğinize bağlı olarak yeni bir artalanı yerleştirmek veya mevcut bir bildirime hizmet eklemek için bir modülü çoğaltmanın makul olduğunu kolayca söyleyebilirim.

  • Daha büyük sunucu gruplarına değişiklik yapmadan önce tek bir hedef üzerinde çok fazla zaman testi geçirdim. Temsilci bir sunucuda çalışan kukla, değişiklikleri ayıklamam ve etkilerini değerlendirmeme izin verdi. Belki bu biraz muhafazakar, ama gerekliydi.

  • Topluluk modüllerine ne kadar bağımlı olduğumdan emin değilim. Zorundaydım bazı işler için Augeas kullanmaya başlave CFEngine'de aldığım bir işlevsellik olduğu gerçeğini duydum.

Kukla söz konusu olduğunda, iyi tanımlanmış bir standart olmadığını hissediyorum. Puppetmaster'ımın dizin yapısını nasıl organize edeceğimi, sertifika imzalamayı nasıl yöneteceğimi anladığımı bulmakta zorlandım. uygun ters DNS her yerde, Kukla'nın uygun şekilde ölçeklenmesi çevreye ve topluluk modüllerini kendi yaptığım binalara karşı ne zaman kullanacaklarını anlamak için. Düşüncede bir değişim var ve bunun nasıl bir sysadmin paniği yapacağını görüyorum. Ancak, bu aynı zamanda sıfırdan inşa edilmiş bir çözümdü, bu yüzden değerlendirme araçlarının lüksüne sahip oldum. Bu şekilde gitme kararı, kukla sarılmaya ve Kukla'nın arkasındaki momentuma dayanıyordu. Yeni bir şey öğrenmek için çabaya değdi.

Hatırlamak, bu site iyi bir kaynaktır.


101
2018-06-06 09:02



Kukla'nın tüm ortamımı iki hafta içinde yönetmesini istemedim. Tüm çalışan Ubuntu'lara rağmen ~ 40 sanal makineden sorumluyum. Bu basitleştirilmiş şeyleri biraz. Mesleğe göre bir geliştiriciyim. "Uyarlanın veya geride kalmayın" - Artık devops + sysadmin + architect. Mükemmel cevap! - François Beausoleil
Küçük hizmetleri dağıtmaya başlamalarını öneriyorum, önce bağımsız olarak daha fazla sunucuyla uğraşmaya başlarım. Kukla ile çalışmak zorunda değilim, ama küçük bir VPS'im var ve kısa bir süre önce kendi Kukla modüllerini yaptım. Mevcut yüzyıldaki diğer sistemlere ayak uydurmak istiyorlarsa, açık fikirli olmaları daha iyi olurdu. Bunu yapıyorum çünkü hoşlanıyorum ve herkes yeni şeyler öğrenmeyi sevmiyor, ama bir şey kesin, günümüzde sysadmin'ler geliştiricilere her zamankinden daha yakın. - Sergio Galvan
Küçük bir şirkette çalışıyorum ve ben de koşarım puppetd -t Tüm sunuculara basmadan önce birkaç kutu üzerinde test yapmak için. Güncellemelerin başarısız olmasına neden olan bir çiftin benzersiz bir şeye sahip olmaması asla başarısız olmaz. Kukla, başlangıç ​​için kontrollü ve tutarlı bir ortamınız olduğunda çok daha kolaydır. - jordanm
@ewwhite, Kukla öğreticisi aracılığıyla kendi belgelerinde çalıştım ama öğrendiğimde hangi kitabı kullandığını merak ediyordum? Dokümanlarda yer alan öğreticinin, yaptığım şeyi öğrenmek için test ana bilgisayarlarındaki Kukla ile çalışırken, her şeyin benimle tıklanmasını engelleyen bir şey eksik olduğunu hissediyorum. DÜZENLEME: Ya da önerebileceğiniz ek kaynaklar. Teşekkürler. - Mike Keller
@MikeKeller Mesajımı beğendim ama ... burada mevcut. - ewwhite


Önceki bir işte Kukla'nın pilot uygulamasını yapmakla görevlendirildim. Şimdi, arka plan programlama var, Ruby olmasa da, diğerlerinin yaptığı kadar problemim yok.

Ancak, bunu not etmek ilginç programcılar Geleneksel olmayan paradigmalarla deneyimsiz olarak da Kukla ile ilgili sorun var, çünkü Kukla bildiren, zorunlu değil. Bu anlamda Kukla, herhangi bir konfigürasyon dosyası gibi çalışır: şeylerin nasıl olması gerektiğini söylersiniz ve Kukla diğerlerine dikkat eder.

Pilottan sonra, Kukla ile bir düzine başka yöneticiyi eğitme ve iki etkinlikle ilgili sunumlar yapma fırsatı buldum. Bu deneyimden aldığım şey, bazı yöneticilerin buna katılmasıydı, bazıları da yoktu. Bunlar, programlama becerileri ve farklı uzmanlık seviyeleri olmaksızın geleneksel yöneticilerdi.

Dikkat ettiğim özel bir şey, Kukla'nın gerektirmesi. sabit uygulama. Eğitimli, modüller yazmış ve daha sonra bir ya da iki ay geçirmiş olan insanlar, Kukla'ya az kullanışlı beceriyle geri döndüler. Her hafta küçük şeyler yapmaya devam eden insanlar yeteneklerini asla kaybetmezler.

Bu iki gözlemden yola çıkarak, herkesin her hafta bazı Kukla sınıfını, tanımını ya da modülünü eklediğinden emin olmanızı öneririm (tercihen en az iki ya da üç kez). Buna hala alışamayanlar bunu yapabilecek beceriye sahip olmayabilirler.

Daha sonra, eğer Kukla onlara daha yukarıdan empoze edildiyse, basit bir şekilde, işlerini nasıl yaptıklarıyla ilgili bir yönetim olarak algıladıkları şeylere tepki gösterebilirlerdi - ki bu gerçekten de doğru olurdu. Onları seçmelerine izin verilmesi durumu olabilir hangi Kullanılacak konfigürasyon yönetim sistemi işleri iyileştirir. İşte bazı alternatifler:

  • yanıtlayıcı ': Bu yeni, ama geleneksel sysadmins için ikna edebilir kabuk komutları ve ssh dayanmaktadır.
  • Şef: Belki onların problemi beyan tarzıdır, bu durumda, eğer Ruby deneyimi varsa Şef daha iyi olur.
  • SaltStack: Python tabanlı ve açık kaynak
  • CFEngine: eski, hızlı, geleneksel - onları bu gerekçelerle kazanabilir.

29
2018-06-06 15:59



ANSIBLE hakkında güzel olan şey, veri aktarımında kesinlikle gecikme olmadan galaktik mesafelerde çalışabilmesidir! - Kalamane
ANSIBLE sözünü için teşekkür ederiz. Şimdiye kadar farkında değildim. - ewwhite
@ewwhite Bir şey değil. Ben sadece kendimi yeni keşfettim, ama bu konu hakkında çok fazla şey dikkatimi çekti. Kukla'da çok fazla olmasaydık, kesinlikle denemeliydim. - Daniel C. Sobral


Kukla'ı iki sene boyunca küçük sicak dükkanlarda kullanıyorum. Sahip olduğum en büyük engel, yazılımın nasıl düzgün bir şekilde geliştirileceğini öğrenmektir. Geliştiricilere bir düzine zaman yapmamalarını söylediğim bir şeyi mahvetmediğim bir hafta yoktu. Çok fazla kod kontrol ettim, check-inleri bozmadım, etiketlemedim, dallanmadım, sentaks denetleyicisini çalıştırmadım, standart kullanmadım, vb. dışarıdakilerden bazılarını tavsiye ederim.

  1. Ya nasıl yapıldığını bilmediğiniz veya kötü yaptığınız bir yazılım geliştirdiğinizi fark edin. Bu beklenen çünkü yeni.
  2. Altyapı olarak kod gerçekliktir ve bir kez kümeyi ele geçirdiğinizde oldukça güçlüdür. Bazı geliştiricileri tekrar davet ediyorum, onlara mevcut gelişim sürecinizi (ya da eksikliğinizi) gösterin, kaşlarını yükselttiklerinde aldırmayın ve önerilerini ciddiye alın. Hangi sistemi kullanıyor olmanızı öneririm ve geliştiricileriniz tamamen uygunsuz olmadıkça işleme koymalarını öneririm.
  3. Kukla üçüncü parti modülleri zamanın% 90'ını emer. Onları okudum. Onlardan fikirleri çalarım. Bunları büyük düzenlemeler olmadan sistemime çekmem. Ancak kimi güzel işlevsellik katan kukla stdlib içine çekerdim.
  4. augeas ve hiera. Bu ikiyi öğren. İlki mevcut dosyaların yerinde düzenlenmesine izin verir. İkincisi harici bir veri deposu.
  5. Veriden ayrı kod. Bu öğrenmek için daha zor kavramlardan biridir. Host'leri modül kodunuza izleme gibi sabit kod değerleri bozuk. Bunları bir veri deposuna koymanız (db, yaml (Hiera bunu varsayılan olarak kullanır), csv, neyse) modüllerinizin tüketebileceği iyidir. Bir örnek Mysql kullanan bir webapp. Bu, kod ve verileri ayrı ayrı itme kabiliyetidir. Bu gelişim sürecinizi kolaylaştırır.
  6. kukla çözümleyici kukla tiftik bir parçası olarak kod öncesi veya sonrası kontrol süreci. Ayrıca hızlandırmak için rspec testleri iyi bir fikir olabilir.
  7. Bir stil kılavuzu / kod standardı yazıp kullanın. "Apache'yi yükleyen kod nerede" yaygın bir sorundur. Modülleriniz çoğunlukla aynıysa, kolay olmalıdır.

Özetle, tüm bu sorunları vurdum ve çoğu sysadmin arkadaşım var. Bir yapılandırma yönetim sistemi kullanmak için biraz zaman alacaktır. Bir kez sen bir hiç olmadan nasıl yaşadığını merak edeceksin. "Bir sunucuya giriş yapın ve el ile değişiklik yapın mı? Ick."


11
2018-06-06 18:04



Önerileriniz için teşekkür ederiz, özellikle de augeas ve hiera, uygulamaya koyduğumuz iki bileşen ve bu da bizi çok daha bilinçli kılıyor, hatta Kukla'nın yeteneklerinden bile emin. Yani teşekkürler :-) - drumfire


Altı ay önce, kar amacı gütmeyen projemizde başlamaya karar verdik   Sistem yönetimimizi Kukla kontrollü bir ortama taşıyarak   çünkü sunucu sayımızın önemli ölçüde büyümesini bekliyoruz   Şu andan itibaren bir yıl arasında.

Kulağa erken başlamak için iyi bir fikir gibi geliyor - Kukla, yapılandırma yönetiminden daha fazlası, bir çeşit belge.

Karar verildiğinden beri BT adamlarımız biraz da   biraz sık sık sinirlendi.

Bir tavır ayarına ihtiyaçları var.

"We're not programmers, we're sysadmins";

Yine, tutum. Bir sunucu için doğru bir dosya yapabilir misiniz? İhtiyaçlarınız ve karmaşıklığınız olarak şablonlama / 'programcı' öğelerini rahatlatabilirsiniz. geliştikçe.

Modüller çevrimiçi olarak mevcuttur, ancak çoğu birbirinden farklıdır; tekerlekler   çok sık yeniden icat ediliyor, hangisinin hangisinin uygun olduğuna nasıl karar veriyorsunuz   tasarı;

Cevaplamak için zor bir şey - her zaman kukla modüllerini en çok tercih ederim - ve hatta bu kadarını kullanmıyorum. Kesin karar kesin. Benim düşünceme göre, bazı modüller 'çok fırfırlı'.

Repo'umuzdaki kodlar yeterince açık değildir, bir şeyin nasıl ortaya çıktıklarını ortaya çıkarmak için tezahürleri ve modülleri ile tekrarlayabilirler.   kendilerini bir süre önce bile yazmışlar;

Bu bir kukla problemi gibi gelmiyor, fakat daha çok organizasyonel veya dokümantasyon konusu mu?

Yeni bir program, yeni bir modül yazmayı gerektirir, sözleşmeler   diğer modüllere benzer, zor bir süreç;

Bu daemon, yönetecek kadar basit bir sınıf olabilir. Sözleşmelerden ne kastettiğinizden emin değilim, kukla kuralları size çok iyi geliyor mu? Yoksa kod formatı çizgilerini mi konuşuyoruz?

"Let's just run it and see how it works"

Yavaş ve güvenli olursanız, o kadar da kötü değil. Bir şeyleri elde etmek için hala bir VM ile başlayacağım.

Topluluk modüllerinde pek bilinmeyen 'uzantılar' tonu: 'trocla',   'augeas', 'hiera' ... bizim sysadmins nasıl takip edebilir?

postfix, exim, sendmail, mysql, postgresql, iftop, iptraf, perl, perl modülleri .. Ne istediğini seç ve kullan? Sanırım bu daha çok bir tavır gibi geliyor.

Büyük bir organizasyonun neden kendi sistemlerini sysadmins'e göndereceğini anlayabiliyorum.   Kukla kursları Kukla ustaları olacak. Ama daha küçük oyuncular nasıl olurdu   gitmezlerse Kukla'yı profesyonel bir seviyeye çıkarmak   dersler ve temel olarak tarayıcı ve editörleri aracılığıyla öğrenilsin mi?

Ben hiç bir kursa katılmadım - ben ben Bir programcı, bir sysadmin'den çok daha fazlasını, başarılı bir şey elde etmek için çok fazla programlama becerisine ihtiyaç duymadığını buldum.

Kukla belgeleri, takip edildiğinde oldukça titizdir. Sadece yerleşik tiplere dikkat edin ve diğer modüllerin nasıl bir araya getirildiğine bakmak için biraz zaman harcayın. Ben -super-kolay olduğunu söyleyemem, ama -hard-ya da değil. Alt yapınızı kukla için hazır hale getirmek biraz zaman alıyor, ancak yatırım yaptığınız zaman genişledikçe harcanan zamanın güvence altına alınmasına yardımcı oluyor.


7
2018-06-06 14:04



FYI bu, altyapılarını hazır hale getirmeyi bitirmiş birinden geliyor. Bu yüzden yeni bir deneyimim var ve zaman kaybı olduğunu söyleyemem. - thinice
Yeni başlayan bir başlangıç ​​olarak kendimi tamamen yorumunuzda tanıyorum. - Martijn Heemels
Benim durumumda, tavırda bir değişiklik gerçekten gerekliydi. Ops, otomasyonu seviyor ve çoğu zaman bir şeyler betimliyor, bu yüzden çoğunlukla farklı araçların kullanılması meselesi. Kukla manifestinizin tüm bir makineyi veya yeni bir hizmeti sıfırdan yapılandırdığını görmek harika bir duygu. Bir hatanın birden fazla makineyi bir kerede etkileyebileceği gerçeği, daha can sıkıcı testlere alışmak zorundadır, bu da can sıkıcı olabilir, ancak açıkçası iyi bir şeydir. Vagrant, rspec-kukla, kukla-tint, Geppetto, Git dalları ve diğer ücretsiz araçlar ile deneyler yapın ve yakında en sevdiğiniz iş akışını keşfedeceksiniz. - Martijn Heemels
Kukla ile çalışmak ayrıca, Bash'in varsayılan sistem araçları dilimi olarak yerini alan Ruby'i öğrenmeme yardımcı oldu. - Martijn Heemels


KISS (Basit salak tutun) - Yeni teknolojiler kullanmayın çünkü onlar için bir gereksiniminiz var, çünkü dağıtımınızın gerektirdiği en az olanı kullanın, gerektiğinde güncelleyin, kanamayı sürdürmeye çalışmayın. kenar. Temel bir kurulumla başlar ve üzerine çıktıkça almayı daha kolay hale getirir ve bir kursa ihtiyaç duymazlar (bunlar bile kullanılabilir mi?).

Bakabileceğin diğer alan, senin sistemlerin. Aynı zamanda program yapamıyorlarsa, büyük bir dağıtım için yeterince ilerlerler, işlerin çoğunun hangi araçları kullanırsanız kullanın.


5
2018-06-06 09:18



... çünkü sunucu sayımızın şu andan itibaren bir yıl içinde büyük ölçüde büyümesini bekliyoruz. Gereği? - Jeff Ferland
Bu beklentinin ne kadar kesin olduğuna ve neyi yerine getirdiğinize gerçekten ihtiyaç duyulan zamana göre uygun olacaktır. - JamesRyan
"Sizin kurulumunuzun gerektirdiği en düşük değeri kullanın" için +1 - Sistemdeki her şeyi kukla kontrolü yapmaya çalışmaktan saptığım kukla sorunlardan birkaçı. - Sirex


Kar amacı gütmeyen bir iş için çalışıyorum ve başlangıçta Linux kutularını eve getirmekten ve kısa bir süre sonra onları yönetmek için Kukladan sorumluyuz. Yaptığımız birkaç özel şey var. Gerçekten mi işler yuvarlanmaya yardımcı oldu.

İlk ve en önemlisi üçüncü parti modüllerden uzak durmaya çalıştım. Dahili araçlar yönetimimizin% 90'ını idare ediyor. Kullandığım en büyük üçüncü taraf yardımcı programı güvenlik duvarı modülüdür. İlgili tüm ekiple herhangi bir özel gerçek, vb. Bir şablon modülü geliştirdik ve bu şablondan tüm standartlaştırılmış dosya yönetimini, paketini, servislerini vb.

İkincisi, dahili modülleri kullanmaya başladıktan sonra, tüm yapılandırma değişikliklerinin gözden geçirilmesi için Git ve Atlassian's Crucible'ı kar amacı gütmeyen bir şekilde kullanmaya başladık. Bu, istenen saydamlığı sağlar.

Üçüncüsü, Kukla için kurulumu otomatikleştirdim, böylece yeni ana bilgisayarlar varsayılan bir seçenekler grubuyla otomatik olarak eklenebilir. Bunu ele almanın çeşitli yolları vardır. Zaten tam bir Kickstart ortamına sahip olduğum için orada bir komut dosyası eklemeyi tercih ettim.


5
2018-06-06 13:50





"Biz programcı değiliz, biz sysadminsiz"

Benim zamanım değişti, en kötüsü için: benim gibi bir greybeard beklenen Profesyonel programcılardan daha iyi bir programcı olmak için, ya da sistem yöneticisi.

Şimdi, temelde Linux'a dönüştürülmüş ve programlayamayan ve bu konuda yanlış bir şey bulamayan Windows masaüstü kullanıcıları olan "sistem yöneticileri" var.

Odadaki filin nedeni, yönetimin böyle yıkıcı bir tutum sergilemesidir. Kime ya da ne için yıkıcı? İşe ve altyapıya.

Kukla [, CFEngine, Chef] konusuna geri dönün: Birisi buna benzer bir çözüm getirdiğinde, biri kaybeder. Herkes kaybeder. Niye ya? Çünkü bu fikirle kastedilen, güzel, temiz, Kickstart [, JumpStart, Otomatik Yükleyici, AutoYaST, Ignite-UX, NIM] işletim sistemi paketleri şeklinde kapsüllü konfigürasyon yönetimi tasarlayamamaktadır. Kukla (veya Şef veya CFEngine) gibi bir otomatik korsan araç kullanmanız gerektiğinde, bunun için dizayn ve için uygulamak Aynı tasarımla, tamamen bozulmamış ve tam otomatik ve tamamen etkileşimli olmayan yönetilen sistemleri yakan bir süreç.

Bir başka önemli nokta, eğer Kukla'ya sahip olmak ya da doğru birisi hack sistem veya uygulama konfigürasyonu el ile, aynı zamanda bir süreç tasarlama deneyimine sahip olmamakta ve bu süreçte konfigürasyonun ayrı bileşenler halinde paketlendiği bir çerçeveye dönüşmektedir. Aslında, Kukla'yı ve benzerlerini uygulayan kişi, bileşen sahipleri, sürümleri, konfigürasyon yönetimi, Yetenek Olgunluk Modeli kavramına sahip değildir. Bu hızla sanayide çok ciddi bir soruna dönüşüyor.

Kukla ile çalışmak ayrıca, Bash'in varsayılan sistem araçları dilim olarak yerini alan Ruby'i öğrenmeme yardımcı oldu. "

Ruby, kapsamlı, uçtan uca bir yapılandırma yönetimi, yalnızca Bourne kabuk programları, AWK ve sed kullanarak, işletim sistemi paketlerinin önkurulum, yükleme, ön ve sonlandırma bölümlerinde kapsüllenebildiği zaman neden gereklidir? Birisi Ruby'nin ezoterik bir dilini öğrenmenin uzunluğuna ve Kukla bağlamında bir lehçesine gidecekti, tamamen gereksiz. Konfigürasyon yönetimi problemi, kabuk programları ve AWK ile kolayca çözülebilir (ve çözülmüştür), ve burada biraz tutuş (1) ve burada bir yapıştırıcı olarak bulunur.

Kukla manifestinizin tüm bir makineyi veya yeni bir hizmeti sıfırdan yapılandırdığını görmek harika bir duygu.

Kickstart, AutoYaST veya JumpStart tarafından yapılan görmenin daha da havalı bir şey olduğunu, tek bir kod satırı olmadanve işletim sistemini kullanarak sorgulayabilme Herhangi bir ezoterik veya ekstra yazılıma ihtiyaç duymadan araçlarda yerleşik, İstemci-sunucu mimarisi gerektirmez (SSH, para cezasından daha iyi, daha iyi) ve işletim sisteminizin her değişiklikten haberdar olduğunu görüyor.

5. Veriden ayrı kod. Bu öğrenmek için daha zor kavramlardan biridir. Host'leri modül kodunuza izleme gibi sabit kod değerleri bozuk. Bunları bir veri deposuna koymanız (db, yaml (Hiera bunu varsayılan olarak kullanır), csv, neyse) modüllerinizin tüketebileceği iyidir. Bir örnek Mysql kullanan bir webapp. Bu, kod ve verileri ayrı ayrı itme kabiliyetidir. Bu gelişim sürecinizi kolaylaştırır.

... Ya da sadece şablon konfigürasyon dosyalarınız kabuk değişkenleri, hatta backquotes (örneğin ls -1 ...) ve eval (1) 'i çağırmak ve şablondaki tüm değişkenleri genişletmek için AWK kullanan bir kabuk betiği yazarak kabukların yerleşik olduğu aynı güçlü ayrıştırıcıyı kullanır. Gerçekten, gerçekten basit olabildiğinde neden karmaşık hale getirelim? Yapılandırma değerlerini nerede saklayacaksınız? Neden, örneğin pkginfo (4) dosyaları veya Oracle gibi bir veritabanı gibi hemen her yerde herhangi bir yer. Ultracomplex çözümlere gerek yok. Yukarıda bahsettiğim kütüphane sadece kaynaklı işletim sistemi paketlerindeki önkurulum veya yükleme sonrası bölümlerinden, böylelikle kopyalamayı kaldırarak merkezi bir kod parçası kaldırarak ...

Ama her şeyden önce, yukarıdaki alıntı, sistem yöneticileri tarafından değil, özel derse ihtiyaç duyan yeni nesil sistem yöneticilerinin bir örneğidir. sistem mühendisleri. Kendine bir greybord bul ve çırak olarak imzala.


4
2018-02-11 12:28



Yazar sorusuna cevabınızı unutmuş görünüyorsunuz. - M. Glatki
Bu cevap öncelikle görüşler, tutumlar ve araçlar hakkında bir tartışma gibi görünüyor ve sorulan soruya gerçekten değinmiyor. - JonathanDavidArndt