‫Kapların büyük vaatlerinden birisi, uygulamalarımızı, bir platform hizmeti olduğumuz gibi kolayca dağıtabilmemizdir,
‫bilirsiniz, Heroku'yu beğeniriz. Bunu donanımımız olsun, bir bulut sağlayıcı olsun, ister
‫sanal olsun ister fiziksel olsun, herkesin donanımında yapabiliriz. Docker ile, uygulamalarımız Amazon, Azure, DigitalOcean, Linode, Rackspace,
‫Google Cloud veya başka bir şey olsalar bile aynı şekilde çalıştırabilir. Tüm bu platform özellikleri olmadan,
‫onlarca, yüzlerce, hatta binlerce kapsayıcıyı birçok sunucu veya örneğe nasıl
‫kolayca dağıtabilir ve koruyabiliriz? Ya da düğümler ya da damlacıklar ya da herneyse.
‫Bu, daha önce küçük kuruluşlar için sorun teşkil etmeyen bazı gerçekten yeni sorunları beraberinde getirir.
‫düğüme ve on binlerce düğüme ölçekli olan büyük organizasyonları biliyoruz ve bir çok mühendisleri var.
‫Hepimiz Netflix'i ve bunun gibi binlerce ve binlerce
‫Ancak ekibinizde yalnızca birkaç kişi varsa veya yalnızca bir tek geliştirici iseniz, konteynerlerinizi nasıl
‫alıp ölçeklendirebilir ve tüm yaşam döngüsü ile uğraşabilirsiniz? Onları dağıtmaktan, başlatmaktan, onları yeniden başlatmaktan,
‫onları yeniden yaratmaktan, onları silmek, güncellemek ve bunlardan güncellemek.
‫Docker'ın tam olarak bunu nasıl yaptığı ya da hiç yapmadığı hakkında sorular sormaya başlıyoruz?
‫Kendimize sorduğumuz bazı sorular, nasıl ölçeklendirileceğimiz gibi şeylerdir. Nasıl ölçekleniriz? Başarısız olursa,
‫konteynerlerimizin yeniden başlatılmasını nasıl sağlayabiliriz?
‫Gerçekten onlar için bir güncelleme yaptığınızda bu kapları nasıl değiştirebiliriz? için havuzdan çıkarıyorsunuz demektir.
‫Günümüzde mavi yeşil olarak adlandırılan şeylerden biri de sıfır kesinti yaşıyorsunuz
‫demektir ve sunucuları yenileriyle buluşturmak Her zaman güncel bir şeyler
‫bulursunuz, böylece güncellediğinizde gerçekten hiç uğraşmazsınız. Düzinelerce düğüm var mı, yoksa sadece üç düğüm var
‫mı bu konteynırları başlattığımızı nasıl bileceğiz? Konteynır hangi düğüm üzerinde? Kapılardaki ağımızla bu
‫farklı düğümler veya sunuculardan nasıl konuşabiliriz?
‫Güvenlik söz konusu olduğunda, konteynerlerimizin yalnızca üzerinde çalıştıkları makinelerde
‫çalıştığından nasıl emin olabiliriz?
‫konteynerlerimiz için ihtiyacımız olan gizli bilgileri (sırlar veya şifreler gibi) nasıl saklayacağız?
‫Artık eşyaları hareket ettirdik ve onları anında dinamik olarak konuşlandırdık,
‫Dolayısıyla Docker'ın çözmeye çalıştığı alanın başında büyük bir evrim geçiriyoruz.
‫İnsanlar benimle konuştuğunda ve Docker'ın yalnızca bir konteyner çalışma zamanı olduğunu düşünürlerse,
‫o zaman 2016'da yığınların gereksinimlerini anlamayı ve onları canlı olarak nasıl çalıştırmayı birlikte bir
‫araya getiren Swarm Mode'dan söz ederim o zaman üretimde.
‫sistemlerini, ana makineleri veya düğümleri veya onları aramak istediğiniz her şeyi tek
‫bir yönetilebilir birime
‫getiren ve böylece konteynerlerinizin yaşam döngüsünü orkestra edebilen bir sunucu kümeleme çözümüdür.
‫Swarm, özünde, farklı işletim Açıkça anlaşılacağı üzere, aslında 1'den önce Docker'a eklenen
‫bir bileşen olan Swarm Classic'i arayacağım Swarm hakkında konuşmuyoruz. 12 çıktı. Gerçekten Docker'ın içinde çalışacak bir konteynerdi,
‫bu sadece Docker çalıştırma
‫komutlarını aldı ve onları birden çok sunucuya yineledi.
‫Birkaç problemi çözdü, ancak konteynırlarınızı nasıl çalıştıracağınız konusunda davaların gerçekten% 80'ini gerçekten
‫çözmemiz gereken ölçekte değildi.
‫Docker, Swarm Kit'i
‫ilan etti; bu koleksiyon, bir dizi yeni Swarm özellikleriyle ilgili bir dizi kütüphane veya bir alet kitiydi.
‫2016 yazında, dockercon 2016'da aslında
‫Sonra Docker sunucusunda bu hakkı sıkıştı. Bu derste, aslında CLI'da ve
‫sunucunuzda kullanabileceğiniz özelliklere sahip oldunuz.
‫Şimdi nihayet onlara dalmak istiyoruz.
‫2017 yılının Ocak ayında, 1. 13 ortaya çıktı ve şüphesiz Swarm Mode
‫2016'da yeni olduğundan ileriki yıllarda daha iyi olmaya devam edecekler.
‫Ocak ayında, Yığınlar ve Sırlar adlı ek özelliklerin yanı sıra daha
‫sonra bahsedeceğimiz diğer ikramiye eklediler. Swarm'in kutudan çıkarılmadığına dikkat etmek önemlidir.
‫Aslında, makinenizde şu an listelenen bu komutları kullanamazsınız. Swarm'in etkinleştirilmesi gerektiği için
‫bu gerçekten bir hata verir.
‫Tasarım hedeflerinden biri de, Swarm kodlarından hiçbirinin mevcut Docker arka plan
‫programını etkilemeyeceği ve orada zaten Docker'a dayanan tüm araçlar ve sistemlerin veya
‫Docker'ın üstünde kendi orkestrasyonunun bulunması idi işinize devam etmeye devam edin ve şimdi
‫Docker'ın
‫bir parçası olan Swarm tarafından müdahale edilmemelidir. üstte gördüğünüz bu mavi kutuların Yönetici Bağlantıları dediğimiz
‫şeye sahip oldukları ve aslında Raft Veritabanı olarak bilinen bir veritabanına sahip oldukları.
‫Dalış yapmaya başlamadan önce bazı temel kavramlar,
‫Yapılandırmalarını saklar ve bir sürü içindeki otorite olması için onlara gerekli
‫tüm bilgileri verir.
‫Dolayısıyla burada sahip olduğumuz üç farklı yönetici, sürülere eklendi ve
‫hepsi bütünlüğü sağlamak ve bu sürüleri güvenli bir şekilde yönetebildiklerinden emin olmak için bu
‫veritabanının bir kopyasını saklıyor ve trafiklerini şifreliyor. .
‫Yeşildeki aşağıda aslında işçi notlarımız var. Artık Swarm kavramında, yöneticilere
‫ve işçilere sahibiz.
‫Bunların her biri, Linux'un veya Windows sunucusunun bazı dağıtımını çalıştıran bir sanal makine veya fiziksel
‫bir ana makine olacaktır.
‫Bu, Kontrol Planı olarak adlandırdığımız şeylerin üzerine nasıl ulaştıklarını, yani
‫siparişlerin sürüler etrafında nasıl gönderildiğini, hareketleri paylaştıklarını gösteriyor. Biraz daha karışık bir görünümde, bahsettiğim bu Raft
‫konsensüs veritabanımız var, bu da tüm düğümler arasında tekrar tekrar üretiliyor.
‫İşçilere emir verirler.
‫Yöneticilerin kendileri de işçiler olabilir. Elbette, işçileri ve yöneticileri iki
‫farklı role indirip yükseltebilirsiniz.
‫Bir yöneticiyi düşündüğünüzde, genellikle bir işçiyi, sürüsü denetleme iznine sahip kişileri düşünün.
‫Yine, bu sunuculardan her biri için tek şart, şu
‫anda kullandığınız aynı Docker'ı çalıştırıyor olması. Bu sürü kavramıyla ve bu yöneticilerle şimdi, konteynerlerimizin neye benzediğine
‫dair yeni kavramlara sahibiz.
‫Docker çalıştırma komutuyla, yalnızca bir konteynır dağıtabiliriz.
‫Sadece bir konteyner yaratacaktı.
‫Her zaman Docker CLI'nin konuştuğu her hangi bir makineydi.
‫Genellikle yerel makineniz veya belki de giriş yaptıkları bir sunucu. ölçeklendirme konseptleri yoktu.
‫Docker çalıştırma komutunun ölçeklendirme veya
‫Bu yüzden bununla başa çıkmak için yeni komutlara ihtiyacımız vardı.
‫Docker hizmet komutunun geldiği yer. Bir sürüde, Docker çalıştırma komutunun
‫yerini alıyor ve çalıştırdığımızda konteynırımıza kaç tane ek özellikler eklememize izin veriyoruz, ne
‫kadarının çoğunu çalıştırmak istediğini bize bildirmek için kopyalar gibi.
‫Bunlar görevler olarak bilinirler.
‫Tek bir hizmet birden çok göreve sahip olabilir ve bu görevlerin her biri bir kapsayıcı başlatır.
‫yaptığımız gibi Nginx görüntüsünü kullanarak Nginx hizmetini döndürmek için rıhtım hizmeti create kullanarak bir hizmet oluşturduk.
‫Bu örnekte, daha önce birkaç kere
‫Fakat biz ona üç kopyayı istediğimizi söyledik.
‫Bu yüzden, onu nereye sürüklemeye koyacağına karar vermek için yönetici düğümlerini kullanır. Varsayılan olarak, onları yaymaya
‫çalışır.
‫Her düğüm, Nginx konteynerinin kendi kopyasını, ihtiyaç duyduğumuz üç kopyaya
‫kadar alacaktı.
‫Bu, yöneticilerin nasıl çalıştığını ve ne yaptıklarını arka planda hızlı ve temel bir anlayıştır.
‫Tüm bu özellikler yeni.
‫Komutanızı alıp bir API üzerinde çalıştırmak değil, Docker çalıştırma komutuyla uğraşmak gibi
‫bir şey değildir.
‫Gerçekten burada tamamen yeni bir Swarm API'si var ki bunlar, zamanlayıcı ve görev göndereni ve tahsisçi ve orkestracı gibi,
‫işçilerin herhangi bir zamanda ne gibi işlemlerde bulunmaları gerektiğine karar vermeye yardımcı olan bir
‫sürü arka plan hizmetlerine sahiptir.
‫Dolayısıyla işçiler sürekli yöneticilere başvurur ve yeni iş istiyor.
‫Yöneticiler, sürekli yeni işleri bırakıyorlar ve yaptıklarına karşı
‫yaptıklarını değerlendiriyorlar.
‫O zaman gerçekleşecek herhangi bir mutabakat varsa, bu değişiklikleri yapacakları gibi, belki siz
‫de ona bu hizmette üç tekrarlama görevi geliştirmesini söylediniz.
‫Böylece orkestrator bunun farkına varacak ve işçilere emir verecek ve böylece devam edecektir.
‫Bu Swarm Modu ile, konteynerlerimizi internete güvenilir bir şekilde yerleştirmek için halihazırda mevcut Docker becerilerini
‫kullanabilmemizi sağlayan, özellik paketli bir dizi özellik elde ederiz ve bir
‫sürü şeyi bir kez üretime geçtiğimizde yaşadığımız
‫sorunlar.