‫Tamam.
‫Docker'ınızı nereden çalıştırıyorsanız seçerseniz, aslında kendi test amaçlarımız için tek bir düğüm sürüsü
‫oluşturabiliriz.
‫Swarm'ın açık olup olmadığını anlayabilmem için, liman işçisi bir bilgi vereceğim ve Swarm'u faal olmayan
‫göreceğim.
‫Bu yüzden Swarm'ın burada etkinleştirilmediğini biliyoruz. Yine, varsayılan olarak, Docker Swarm özelliklerinden
‫herhangi birini etkinleştirmez.
‫Başlatma için bir liman kulesi init'i çalıştırabilirim. Bu yaklaşık yarım saniye sürdü ve işimiz bitti.
‫Şu anda sahip olduğumuz şey, kutudan çıkarılan tüm özellik ve işlevlerle birlikte tek bir
‫düğüm sürüsüdür.
‫Muhtemelen bu tüm dersin en kısa demosuydu.
‫Yani, ne oldu? Bir emir ve sihir yazdık. Aslında büyü değildi.
‫Docker programının Go programlamasında çok hızlı ve verimli olan bir çok şey vardı, fakat esas olarak, kullanımdan
‫hemen sonra
‫bir demet PKI ve güvenlik işi yapıyor. Güven oluşturmak ve tüm düğümler ve tüm yöneticiler
‫için sertifika imzalamak için kullanacağı sürü için kök sertifika oluşturur. düğümü için özel bir sertifika oluşturacaktır.
‫Bir işçi karşısında bir yönetici olduğundan, bu ilk yönetici
‫Ardından, bu sürüde katılmak için diğer düğümlerde kullanabileceğimiz bu işaretleri oluşturuyor.
‫Ardından, sürü API'sini etkinleştiren ve bir sonraki aşamada kursta üretilen bir bölümünde bahsedecek olan Raft
‫Consensus Database (Raft Konsensus Veritabanı) adlı bir şey oluşturan bir sürü başka şey.
‫Sadece bildiğiniz gibi, Raft aslında birden fazla düğümde tutarlılık sağlayan bir protokoldür ve herhangi
‫bir anda herhangi bir zamanda kullanılabilir olacağını garanti edemediğimiz Cloud'da kullanmak
‫için idealdir.
‫Bu veri tabanını disk üzerinde oluşturur. ve aslında onu şifreler.
‫Sürü konfigürasyonunu ve ilk yöneticiyi saklar
‫Sürüm 1'de olduğunuzu farz edelim. 13 veya daha yenisi. Daha sonra gerçekte veritabanını onlara
‫koparmaya başlamadan önce diğer düğümleri bekleyecektir.
‫Yine, diğer düğümleri oluşturduğumuzda yapacağı bu trafiğin tamamı şifrelenecek.
‫Swarm'in ilk ortaya çıktığında bunu ayıran en önemli unsurlardan
‫biri, sürü arkamızın yapılandırma yönetimi için ilave bir anahtar değer depolama sistemi veya
‫bazı veritabanı mimarisine ihtiyaç duymadığımızydı.
‫yedekli hale getirmeniz gereken bu ayrı veritabanı sistemi olan bu kavram vardır.
‫Sektörün çevresinde yıllarca hatta on yıllar yaşadıysanız, genelde yapılandırma db'u olan ve genellikle orkestrasyon
‫ve otomasyon sistemi hakkındaki tüm bilgileri depolayacak Swarm aslında doğrudan Docker'ın içine
‫çekirdeğe inşa etti ve bizim için bunu yaptı.
‫Gerçekten hiçbir şey yapmamız gerekmez. Endişelenecek şifre yok. Başlamak için özel bir hizmet
‫ya da böyle bir şey yok. sürüyü bir işçi eklemek
‫Yani, komut satırına dönün. istiyorsanız, gerçekten kesip yapmam
‫Burada konuştuğunu fark edeceksiniz. gereken diğer sunuculara yapıştırmam gerekiyor. Daha sonra, aslında çok
‫düğümlü sürü kuracağız, şimdilik şimdilik tek bir düğümde tutacağız. Şimdi çıkacak birkaç komuta bir göz atalım.
‫İlk şey docker düğüm ls yapabiliyor olmasıdır. Bu durumda, oluşturduğumuz bir yönetici
‫düğümünü görüyoruz.
‫Lider olarak işaretlendiğini göreceksiniz ve tüm yöneticiler arasında aynı anda yalnızca bir lider olabilir.
‫Yine, sadece bir tane aldık, o zaman açıkçası lider. Burada
‫hangi diğer seçeneklerin bulunduğunu görmek için yardıma bakabiliriz. Gerçekten, düğümler, sunucularınızı sürü içinde ve dışında bir araya getirmek veya işçilerden yöneticilere yükseltmek için kullanılan komutları
‫veya yöneticilerden aşağı doğru işçilere indirgemek için kullanılan komutları içerir.
‫Liman botlarının komutasını biraz geri çekerseniz,
‫komutanın gerçekten de çok dar bir kapsam olduğunu fark edeceğiz.
‫Gerçekten sadece başlatmak, katılmak ya da ayrılmak içindir.
‫Yeni kilidini açma komutu, daha sonraki bir konferansta konuşabiliriz.
‫Şimdilik, heyecan verici yeni Docker hizmeti komutuna odaklanalım.
‫Yine, bir liman hizmetinde Liman işlerinin yerini alıyor.
‫Bir gerçek bilmiyorum, fakat bunun varolan Docker çalıştırma işlevini
‫bozmak istemediğimiz fikri etrafında olduğunu düşünüyorum, ancak Docker çalıştırması
‫daima tek bir ana bilgisayar çözümü olarak inşa edildi.
‫Konuştuğu sistemdeki yerel kaplara odaklanmak fikriydi. küme hakkında konuşmaya başlayınca, bireysel düğümler hakkında fazla önem vermiyoruz.
‫Oysa, bir
‫Aslında onları muhtemelen isimlendirmeyiz. Hayvanları hayvanlar gibi muamele edersek, sadece
‫hayvanlara benzetmeye karşı duyduklarınız varsa, sadece bir sayı oldukları zaman.
‫Gerçekten her bir düğüme ayrı ayrı gitmiyoruz ve tek bir kapsayıcı başlatıyoruz.
‫Gerçekten, sürülerdeki gereksinimler hizmet biçiminde atılıyor
‫ve daha sonra bunların tümünü hangi düğüm noktalarına yerleştireceğimize,
‫hangi düğümlere ihtiyaç duyduklarına göre düzenlenecek ve yalnızca geriye dönüşümüz olduğunu biliyoruz. rıhtım servisini yaratmak, ona yeni
‫siparişler verme şeklidir. Gerçekten basit bir şeyler yapalım.
‫Aslında Alp görüntüsünü başlatalım. Sonra Alp görüntüsünde yalnızca
‫8 puanı ping kullanacağız. 8. 8. 8, aslında bir Google DNS sunucusu,
‫ancak biz gerçekten ne olacağını araştırırken yapacak bir şeyler vermek istiyoruz.
‫Sonra liman işletmecisi gibi görürsünüz, bir kimliği geri veriyor, sadece konteyner kimliği değil. Aslında bu
‫hizmet kimliği.
‫Listelenen bir servisimiz olduğunu görürsünüz. Tıpkı liman işletmemizin emir komutunda
‫olduğu gibi, adı
‫vermediğimizden, rastgele bir isim verdi. Gördüğümüz gibi, aslında çoktan döndü.
‫Bir tanesinden biri. Hizmetlere baktığınızda,
‫bu numarayı ortada bir / ile görürsünüz demektir. Bu, soldaki kişiyi temsil eder; kaç kişi kaçıyor.
‫Ve sağdaki kişi kaç tane çalıştırdığınızı belirtir.
‫Orkestrasyonun amacı, ne olursa olsun, bu sayıları eşleştirmektir.
‫Ancak bu yine de bize gerçek konteyneri göstermiyor.
‫Bu gerçekten bize sadece hizmetlerimizin bir listesini gösteriyor, bu nedenle biraz daha detaylı bilgi edinebiliriz.
‫Bir rıhtıma servis ps yapıyoruz ve sonra
‫hizmetin adını veya kimliğini veriyoruz ve bu aslında bize bu hizmetin görevlerini veya kaplarını gösterecektir. çoklu sunucular senaryolarıyla uğraşırken, aslında hangi sunucunun çalıştığını bilmemiz gerekebilir.
‫Docker konteyner ls komutu ile benzer olduğunu göreceksiniz, ancak şu anda
‫bu düğüm bileşenine sahip. Çünkü Hizmet adına aslında
‫bir artış ismi verdiğini fark edeceksiniz.
‫Docker konteyner ls komutuna geri dönersek, yine de çalışır.
‫Bu durumda, Swarm orkestrası aslında adlara
‫ve çalışan gerçek görüntülere bazı bilgiler ekliyor. Bu ince farkların bir kısmını daha sonra da ele alacağız.
‫Şimdilik, aslında bu hizmeti alalım ve onu ölçeklendirelim. Bunun için limana servis güncellemesini ve daha sonra servisimizin adını veya bu durumda
‫kimliği kullandığımız takdirde kimliği yapacağız. niteliği değiştirmek istiyorum.
‫Ve hizmetle ilgili bir
‫Bu durumda kopyaların sayısını değiştirmek istiyorum.
‫Tekrar liman işi yaparsak, üçümüz üçünü görürüz. Bir rıhtıma
‫servis ps yaparsak, aslında şimdi üç görev görüyoruz. İki saniyenin bir saniye önce yaratıldığını fark edeceksiniz.
‫Yeterince hızlı olsaydık ve yeterince büyük bir şey konuşlandırsaydık, aslında hizmet ls'i
‫çalıştırabiliriz ve aslında üçümüzün sıfır olduğunu gösterebiliriz. Üçünden biri.
‫İşler başladığında aslında artacaktır. Alpin zaten görüntü açısından bu makineye eklenmişti ve bir ping komutunun
‫başlatılması çok uzun sürmedi.
‫O kadar hızlı olamazdık.
‫Bu güncelleme komutu hakkında ilginç olan şey, tek
‫bir dev'de veya test sunucusunda
‫veya yerel makinenizde kullanabileceğiniz Docker çalıştır komutu arasındaki farkı ve mümkün
‫olduğunca her şeyi mevcut tutmak için üretilen kaygılar olduğunu hayal edebilmenizdir.
‫Swarm'un tasarım hedeflerinden biri de bu. Aslında henüz kullanmadığımız komut Docker
‫güncelleme komutudur. Bu, konteynerleri çalıştıran konteynerler için bir komutdu;
‫bu, konteyneri öldürmek ve yeniden başlatmak zorunda kalmadan, çalışan konteynerimizdeki bazı değişkenleri güncellememize izin verdi.
‫Bu seçeneklerin neredeyse tamamı, söz konusu kapsayıcı için kaynak kullanımını sınırlamak ve kontrol etmekle ilgilidir.
‫Uzun vadeli bir uygulama çalıştırırken gördüğünüz tipik şeylerden biri de
‫belki kaynaklarını değiştirmeniz gerektiğidir, çünkü belgeler veritabanları daha fazla kazanılmış ve daha fazla RAM'e ihtiyaç duyuyorlardı.
‫Veya çok fazla CPU yiyen bir kontrolsüz işleminiz varsa ve sınırlamanız gerekir.
‫Limana servis güncelleme komutuyla ilgili bir yardım yaparsak, çok daha fazla seçeneğimiz olduğunu göreceksiniz.
‫Çünkü Swarm hizmetinin amacı konteynırları
‫değiştirebilmekte ve her şeyden vazgeçmeden servisteki değişiklikleri güncelleyebilmektedir.
‫olarak bir değişiklik yapmak için birer tane alabilir ve bahsettiğimiz mavi yeşil model olan yuvarlanan bir güncelleme yapabilirdiniz.
‫İçinde üç konteynır bulunan bir servisiniz olsaydı, teknik Bu nedenle burada daha fazla
‫seçenek görüyoruz, çünkü bir konteynerin yeniden başlatılması gerekebilecek bu seçenekleri değiştirebiliriz ancak
‫sürü, bunları güncellediğimiz yöntemin akıcı
‫bir şekilde tutarlılık sağlayan bir düzen içinde olmasını sağlayacaktır.
‫Docker konteyner listemize geri dönün. Şu anda bu üçümüzün olduğunu ve ne zaman bir haydut gibi içeri girdiğimi, Diyelim ki birincisini yenip
‫rıhtım röle konteyneri rm'yi Tamam.
‫yapsaydık ve bu konteynırlardan birini seçtiysek ve zorladım. sadece çıkartalım. Şimdi limandan liman hizmeti veriyorum, siz ikisinin üçünü nasıl gösterdiğini görüyorsunuz?
‫çalışan konteynerleri aldım, bunu belirleyecek ve aşağıya düşen yerini alacak saniye içinde yeni bir tane başlatacak.
‫Çünkü Swarm'ın arkasından girdim ve
‫aslında
‫Dondurucuda liman işçiliği servisini yapsaydım, listede ilk görevin geçtiği tarihin
‫başarısız olduğunu ve 24 saniye önce yeni bir işe başladığını gösterirsiniz.
‫Bu, bir konteyner orkestrasyon sisteminin sorumluluklarından biridir,
‫belirttiğiniz
‫servislerin her zaman çalıştığından emin olmaktır; bunlar başarısız olursa, bu arızadan kurtulur. Hangisinin liman işletmesinden farklı olduğu değil mi? liman işletmecisi asla bir
‫konteyneri tekrar yaratmazdı.
‫Bu yüzden bu Docker hizmet komutlarından herhangi birini yaptığımızda aslında doğrudan bir
‫konteyner yaratma gibi bir eylemle konuşmuyoruz.
‫Aslında bir orkestrasyon sistemine bahsediyoruz, hey işini sıraya koy.
‫Ona ulaştığınızda, lütfen burada sordumdaki sürülerde gerçekleştirilen eylemleri yapın. Bu
‫büyük bir fark.
‫Komut satırında çok ince, ancak büyük bir fark var, çünkü geri alma olanağı var demektir.
‫Başarısızlığı hafifletme ve buna bir çok zeka inşa edilmiştir.
‫tüm bu kapları kaldırmak istersem, hizmeti kaldırmam gerekecek.
‫Bu durumda, aslında Limana rıhtım servisini yapmak zorundayım.
‫Ve sonra buz gibi.
‫Limana liman hizmetleri verirsek, hiçbir şey göremiyoruz. Limandan liman konteyneri yaparsak,
‫üç konteynır görürüz.
‫Oh ve işte gidiyoruz.
‫Bu, arka planda otomasyonun olup bittiğini gösterir.
‫Hizmeti sildik, ancak orkestrasyon sistemi hizmeti temizleme
‫ve onun arkasındaki görevin tüm süreçlerine girmediğini hızlı bir şekilde gösterebildik. olduğumuz Docker çalıştıran kavramları gerçekten genişletiyoruz.
‫Bu kavramların anlaşılması oldukça
‫kolay olmalı çünkü bu derste daha önce sahip
‫Ardından, çoklu düğüm sürüsü inşa edelim ve kaplarımızı ölçeklendirmeye başlayalım.
‫