Kukla ve liman işçisi aynı şeylerin çoğunu yapabilir, ancak onlara farklı bir şekilde yaklaşırlar.
Kukla dosyaları + paketleri + hizmetleri yönetir. (Trifekta denir). Docker, bir kabın içindeki ikili dosyaları ve yapılandırma dosyalarını içine alır.
Bu yazı yazıldığı sırada liman işçisi hala kararsızdır ve üretimde kullanılmamalıdır. API'ların birçoğunun sürüm 1.0 yayınlanana kadar değiştirilmesi muhtemeldir.
Docker sabit hale geldiğinde bile, her işlemi ve yapılandırma dosyasını docker kaplarına dönüştürmek büyük bir girişim olacaktır.
Öte yandan kukla istikrarlı bir üründür ve tüm bir araç ekosistemi (heira, mcollective, facter, jilet) ile birlikte gelir. Bu araçlar hızlı bir şekilde ve hiçbir şey kırılmadan endişe duymadan uygulanabilir.
Aşağıdaki kaynakları şiddetle tavsiye ediyorum.
Uygulama yığınlarını kukla ile yönetme videosu
https://www.youtube.com/watch?v=KSo_mcJxFIA
Liman işçisinin ve kuklanın birlikte nasıl çalışabileceği hakkında bir podcast
http://devopscafe.org/show/2014/1/23/devops-cafe-episode-46.html
Docker ile nasıl entegre edileceğine dair bir kukla blog makalesi
http://puppetlabs.com/blog/building-puppet-based-applications-inside-docker
Kukla ve docker ile bir arada var olan başka bir blog makalesi
http://puppetlabs.com/blog/can-containers-and-configuration-management-co-exist
Docker ile etkileşim için bir kukla modülü
http://docs.docker.io/use/puppet/
Adanmışlar terminolojisinde küçük bir düzeltme. Devops, geliştiricilerin ve operasyonların işbirliği yaptığı herhangi bir araçtan daha çok bir yazılım geliştirme yöntemidir.
Güncelleme
Şu anda şirketim hem kukla hem de docker kullanıyor. İşte kukla conf 2014'te kukla vs docker'ı neden kullanacağınıza dair harika bir sunum. Kuklaların eski bir işvereni ve liman işçisi kitabının yazarı James Turnbull tarafından verildi.
https://puppetlabs.com/presentations/using-docker-puppet-james-turnbull-kickstarter
Ayrıca sysadmincasts.com tarafından verilen docker üzerinde iyi bir kısa video eğitimi
https://sysadmincasts.com/episodes/31-introduction-to-docker
Docker Artıları:
- Örneği hızlı bir şekilde döndürebilir
- Öğrenmek kukladan daha kolay
- Yapılması kolay 0 kesinti
Docker Eksileri:
- Cihaz haritası arka ucunu kullanırken kapların 10 GB sınırı vardır
- Küçük yapılandırma değişikliklerinin kapsayıcıyı yeniden oluşturması uzun zaman alıyor
- Hub.docker.com, quay.io gibi bir docker kayıt defteri kullanmak için para maliyeti (Kendinden barındırılan docker kayıt defteri son derece buggy ve gui yok)
- Uygun başlangıç sistemi yok. Bazı uygulamalar iyi oynamıyor.
- Ağ üzerinde ince taneli kontrol yok
- Alt kabuk gerektiren uygulamalar (RVM + ruby'ye bakmak) düzgün çalışabilmek için çok zor
- Windows ana bilgisayarlarını yönetemez, SLES veya daha az popüler olan diğer işletim sistemlerini yönetemez
- Şu anda liman işçisi düzenlemesi çok genç.
- Şu anda /etc/resolv.conf dosyanızı derleme zamanında ayarlayamıyorsunuz
- Ana bilgisayarların localtime ve urandom dizinlerine eşlemek için / etc / localtime ve / dev / urandom'u monte etmemiz gereken çeşitli hatalar.
- Performans o kadar hızlı değil (liman işçisinin çıplak metal hızının% 99 olması gerektiği iddialarına rağmen, bazen diğer makinelere göre% 30 daha yavaş).
- Küçük kaplar hala yüzlerce megabayt ek yüke sahiptir. Kaplarımızın hepsi birden fazla gigabayttır.
Kukla Artıları:
- Ölçeklendirmesi kolay
- Mevcut sunucularla çalışır (Windows, Linux, Sles)
- Küçük değişiklikler yapmak için hızlı
- Diğer kukla kullanıcıları ve modüllerinden oluşan güçlü topluluk
- Tüm platformlara paket yüklemek için standartlaştırılmış API
Kukla Eksileri:
- Büyük altyapılar çok karmaşık hale geliyor
- Koşullu modül bağımlılıkları spagetti kodu oluşturur
- Daha ağır
Şu anda docker konteynerlerimizi tedarik etmek için kukla kullanıyoruz. Liman işçisi konteynerleri jenkin yapıları için kullanılır ve her yapıdan sonra imha edilir. İyi çalışıyor ve bize tutarlı bir ortam sağlıyor. Bu, kodu yalnızca bir kez yazmamız ve ardından ubuntu, sles ve centos makinelerini yeniden oluşturmamız gerektiği anlamına gelir. Konteynerlerin yeniden inşası yaklaşık 15 ila 30 dakika sürer ve hala manuel bir işlemdir. Docker hızlı test vm'leri döndürmek için mükemmeldir,
Kısacası, kukla mevcut altyapınızı yönetmede harika. Küçük geçici durumlarda çevrilebilen bir teknoloji yığınına sahip% 100 linux olan bir yeşil alanınız varsa Docker iyidir. Bazı işlevler çakışıyor olsa da, birbirlerini dışlamazlar.