‫Tamam, şimdi, bindirmeli ağ ve yönlendirme kafesiyle Swarm ölçeklendirme hakkında her şeyi öğrendiğimize göre,
‫bir Swarm senaryosunda dağıtmanız gereken varlıkları veya nesneleri oluşturma sürecini gerçekten
‫geçirmenizi isterim.
‫Bu yüzden artık liman işletmeciliği komutunu kullanmıyoruz, ancak ağ ve
‫hacimler aynı fakat biraz farklı.
‫Çok katmanlı bir uygulamanın gerçek dünyadaki senaryosunu vermek istiyoruz ve Docker'ın Dağıtılmış Oylama Uygulaması'nı
‫kullanacağız.
‫Buna aslında Örnek Oylama Uygulaması denir.
‫Docker'ın ana notlarında veya diğer laboratuarlarda veya derslerde görmüş olabilirsiniz.
‫Oldukça yaygındır ve bence harika bir uygulama, çünkü en az beş rol veya dağıtmanız
‫gereken farklı kaplar var.
‫Ve hepsi özel bir işleve sahiptir ve aslında aslında işe yarayan şeyler yapıyorlar, aslında ne yapılması
‫gerektiği konusunda çalışıyorlar.
‫Ve böylece onunla oynayabilir ve web frontend ve işçi arka uç gibi çok
‫tipik, dağıtılmış mimari bileşenleri
‫ve bir veritabanındaki anahtar değeri vardır. Bence yapmak gerçekten çok yardımcı. swarm-app-1 dizini kullanacaksınız.
‫Bu durumda, Aslında bizim dersteki repomuzda. Orada yalnızca bir
‫readme ve bir resim var. Bu BeniOku'dan, bu uygulamanın tam olarak çalışması için gereken
‫hacmi ve birkaç ağ ve beş hizmet oluşturmanız gerekiyor.
‫Bu komutların bir kısmını yerel olarak denemenize veya metin editörünüzde yazmanıza ve türlerini oluşturmanıza yardımcı olabilir,
‫çünkü bunlar biraz karmaşıktır. Docker hizmetini yarattığınızda, onu
‫belirli bir ağa bağlamanız ve bağlantı noktalarını açmanız ve belirli bir ad olarak
‫adlandırmanız ve belirli bir görüntü kullanmanız gerekecek. Dolayısıyla, yerel olarak düzenlemek daha kolay olabilir ve
‫daha sonra Swarm'inizin bulunduğu yerde kabuğunuza kesip yapıştırın.
‫Ama bu sadece benim.
‫Her şey Docker Hub görüntülerini kullanacak çünkü üretim sürüsü içinde olmak istemiyorsunuz.
‫Genellikle üretiminizdeki Swarm'da istediğiniz bir işlem değil.
‫Genellikle, binanızı Docker Hub veya Docker Cloud gibi bazı otomatik çevrimiçi
‫hizmetlerle veya üretim Swarm'ınızdaki kaynakları yemeyen CI / CD boru hattınızdan birinde yapmak istiyorsunuz.
‫Bu senaryoda, görüntülerimizin başka yerlerde inşa edildiğini ve Docker Hub'da depolandığını
‫hayal edebiliyoruz ve bunları, en son sürümleri ne olursa olsun, Swarm'e indirmek yeterlidir.
‫Ve bunu sadece Bilgisayar Bilimlerindeki birçok şey gibi, bu yarısı bir bilim, yarısı bir sanat formu.
‫Emirleriniz tamamen farklı emirlerde olabilir veya benimkinden daha farklı seçenek emirlerine sahip olabilir.
‫Ağlarınızı farklı şeyler diyebilirsiniz.
‫Bu iyi.
‫Sonunda sonuç, uygulamanın çalışması, birbirleriyle doğru şekilde konuşabilmeleri, tüm
‫bağlantı noktalarının yayınlandığının ve verinin bir hacimde korunmasını sağladığıdır.
‫Karşı karşıya olduğunuza bir göz atalım.
‫Bunun için komutları ve mimari tasarımını yapmak zorunda olduğunuzu düşünün.
‫Ve bu uygulama geliştiricinin sana vereceği şey budur.
‫Bu durumda, muhtemelen bu app yazan çok sayıda geliştirici, değil mi?
‫Aslında Python'da olan bir web önyüzüne sahiptik çünkü Düğümde çalışan bir Web
‫arka uç var.
‫Çalışan bir işçi sürecimiz var. NET ve daha sonra bir Redis anahtar değer
‫deposu ve bir PostgreSQL veritabanı var.
‫Aslında bu, gittikçe daha sık görüyorum, farklı ekiplerin bir çözümün farklı bölümlerini yazdığı
‫ve yalnızca bu senaryo için en iyi olduğunu düşündüğü dili seçebildikleri bir şey.
‫Ve konteyner dünyasında, bu tür bir uygulama gerçekten parlıyor. da her neyse onunla çelişmezler.
‫Uygulamalarımızın tümü
‫bölümlere ayrılmış olduğundan teknik olarak aynı makinede çalışabilirler, ancak birbirlerine
‫karşı korunmaktadırlar, böylece Düğüm Python'a bağımlılıklar ile çelişen ya
‫Burada trafik akışını da farkedeceksiniz, oylama uygulaması buna sahip değil ancak
‫kullanıcıların oylama-uygulama bölümünde nereden gideceğini belirten küçük bir ok
‫gerekiyor.
‫Ve oylama uygulamasının aslında bu uygulama için oylarınızı itmeniz gerektiğini görebilirsiniz, ki bu arada, kediler
‫ve köpekler için oy vereceksiniz.
‫Bunu Redis'e itiyor olacak ve işçi aslında Redis sistemini sıradaki herhangi
‫bir şey için kontrol edecek ve daha sonra sonuçlarını gerçekte güncellenen bir
‫WebSocket arka uçunda gösterilecek olan Postgres'e yönlendirecek. oylama.
‫Rehber'e hızlıca atlarsak, burada size yardımcı olması için bazı notlar koydum, çünkü biraz
‫farklı ve yeni birkaç şey var.
‫Ancak, hizmetler alanı, uygulamalarını bilen, ancak bunu nasıl Docker'da uygulayacağını
‫bilmiyormuş gibi yazılmış olurdu. Ve bu oldukça yaygın bir senaryondur.
‫vermeniz gereken asıl adı görebilirsiniz, çünkü bunlar önemlidir.
‫Hangi görüntüleri dağıtmanız gerektiğini listelediğim hizmetlerde,
‫Bunlar maalesef ağda hangi adlara bakacakları konusunda sert kodlanmış resimlerdir.
‫İdeal olarak, isimler için yapmanız gerekenleri anında yapılandırabileceğiniz uygulamalar istiyorsanız, ancak bu durumda,
‫oylama, yeniden adlandırma adı verilen bir DNS kaydını arar. Burada aslında iki ağ
‫olduğunu görebilirsiniz. Bir ön uç ve bir arka uç ağımız var. Bu, arka uç ağındaki
‫veritabanınızı korumak isteyebileceğiniz daha büyük bir uygulamanın oldukça tipik bir örneğidir; böylece,
‫ön uç kullanıcı uygulamasına doğrudan erişiminiz kalmaz.
‫İşte biz burada gösteriyoruz ve işçinin aslında iki ağa bağlı olduğunu farkedeceksiniz.
‫Bu nedenle create komutu kullanıldığında, liman işçisi hizmetini kullandığınızı unutmayın, liman işletmeciliğini çalıştırmayın.
‫Docker hizmeti oluştur komutunu kullandığınızda --network'u iki kez, bir kez de ön
‫uç için ve bir kez de arka uç için belirtmeniz gerekecektir.
‫Açıkçası, önce ağlarınızı oluşturmayı bilirsiniz.
‫Bazıları burada belirtilmiş durumda. Ve görüntüye tekrar ihtiyacınız varsa, mimari diyagram
‫da burada, durumu nasıl bulacağınız konusunda kavramsal olarak yardımcı oluyor.
‫Ve tabii ki, Docker belgelerine sahip olacaksın. Hizmet oluştur komutunda --help komutunu
‫kullanmanız gerekebilir ve size ihtiyacınız olabilecek çeşitli seçenekleri sunar.
‫Sadece üç ya da dört tane lazımsın. Komutları kendiniz sıkıştıysanız, bu
‫bölümün kaynaklarına koyacağım gerçek belgeleri gözden geçirmek isteyebilirsiniz.
‫Ancak Swarm bünyesinde yer alan bu belge, aslında hizmet oluşturma ve hizmet yapılandırma konularına girmektedir.
‫Bu biraz ürkütücü, ama içinde sıkışırsanız size yardımcı olabilecek çok miktarda bilgi
‫var.
‫Aslında şu her şeyi ben kendimmiş gibi yapacağım.
‫İyi şanslar ve eğlenin.