İlginizi Çekebilir
Microsoft-VSTS-is-now-Azure-DevOps-1
  1. Ana Sayfa
  2. Container
  3. Docker Swarm Mode

Docker Swarm Mode

060518_2127_DockerSwarm1.png

container ekosisteminde cluster yönetim ve orkestrasyon aracıdır. Orkesttrasyon tarafı swarmkit denilen bir proje ile yapılır. Hem yönetim hem de orkestrasyon tarafı engine ile entegre bir şekilde çalışır. Orkestrasyon işi ek olarak ekosisteminde çok meşhur olan teknolojileri ile de yapılabilir. Veya bulut altyapısı sağlayıcılarının kendi yönetim sistemleri ile de yapılabilir.

Swarm mode container ekosistemi için en önemli konulardan bir tanesidir. Dağıtık bir şekilde tasarlanan microservislerin sorunsuz çalışması için tamam doğal bir cluster çözümüdür. Swarm, swarm mode ile çalışan birden fazla host ile çalışır. Bu hostlardan bir kısmı manager, bir kısmı workerdır.

Swarm ekosisteminde manager roller aynı zamanda worker görevi de yaparlar. Docker ekosisteminde dağıtık servis yapısı swarm üzerine servisler (docker service) oluşturularak yapılır. Swarm üzerinde bir service oluşturulduğu zaman servisin optimal durumu swarm da ayarlanır. (Replika sayısı, network kaynakları, storage kaynakları, gerekli portlar vs. ). ’ın görevi bu tanımlanan servislerin istenilen şekilde ve aynı yapıda bozulmadan çalışmasıdır. Swarm mode da çalışan bir node erişilemez hale gelirse Docker bu nodun işini hemen başka bir node’a aktarır.

Swarm mode Docker üzerinde Docker servis mimarisinin çalışması için en önemli bileşenlerden bir tanesidir. Docker servisleri konusu ayrı bir başlık altında inceliyor olacağız.

Docker hostları swarm mode da çalışır iken aynı zamanda standalone containerlar da barındırabilirler. Fakat Swarm Manager’ ları bu standalone containerları yönetemezler.

Node: Swarm mode’a dahil olan docker engineler node olarak adlandırılırlar. Bunu Docker nodeları olarak düşünmeniz gerekir. Bir fiziksel sunucuda bir veya daha fazla docker node olabilir. Fakat genel olarak production ortamlarında her node bir fiziksel makina veya bir bulut servisinde bulunur.

Resim-1

Swarm Mode’ ile çalıştırılan ilk node Manager olarak swarm’ a eklenir. Aynı zamanda bu “Leader” rolünüde üstlenir. Ve bu nodun üstüne sertifika otoritesi kurulur. Tüm swarm PKI altyapısını kullanarak sertifikalar ile güvenli bir şekilde oluşturulur. Swarm Leader Manager yeni managerların eklenmesi ve haberleşme için ve yeni workerların eklenmesi ve haberleşme için sertifikalarını otomatik olarak oluşturur.

Swarm da external bir sertifika otoritesi de kullanılabilir ama şart değildir. Swarm’ın kendi altyapısı güvenli olmak üzere tasarlanmış ve ilgili servisleri kendisi kurmaktadır.

Eğer Leader Manager erişilemez hale gelirse Manager’lardan bir başkası yeni leader rolünü üstlenir. Leader rolü tüm managerları ve swarm ekosistemini orkestre eden role olarak düşünülebilir.

Swarm ekosisteminde tavsiye edilen Manager rol sayısı 3,5,7 dir. Bunun üstünde ki sayılar çok büyük ortamlar için geçerlidir. Ve bu manager rollerinin aynı region da olması tavsiye edilir. Özelikle bulut servislerinde.

Bir uygulamayı swarm ekosisteminde host etmek için servis tanımı manager node’ a girilir ve manager node gerekli görevleri(tasks) worker node’lara dağıtır. Daha önce de bahsettiğimiz gibi manager node’lar worker görevlerini de yaparlar. Fakat siz manager node’ları sadece manager görevlerini yapması için configure edebilirsiniz.

Docker managerlarınnın servisler için atadığı taskları uygulayan ve çalıştıran nodular worker nodelardır. Bir swarm içerisinde worker node’lar linux, windows gibi farklı imaj tiplerinde olabilirler.

Docker Servisleri

Servis görevlerin(tasks) manager veya worker üzerinde çalışması için belirlenen tanımıdır. Servisler swarm ekosisteminin temel yapı taşıdır. Dağıtık yapıların en önemli bileşenidir.

Docker ekosisteminde bir servis oluşturduğunuz zaman hangi container imajının kullanılacağı, hangi komutların container içerisinde çalışacağı gibi tanımları yapmış olursunuz.

Tasks

Task’ler bir container ve onun içerisinde çalışan komutları ifade eder. Swarm ekosisteminin en küçük ve atomic parçasıdır.

Docker swarm’I geleneksel cluster mimarilerinde ayıran en önemli özellik replica edilmiş ve global servisler ile cluster servisinin pratikte tüm manager node’lar üzerinde bulunması ve bir sorun yaşındığında çok hızlı ve kolayca diğer bir node’a geçirilmesini sağlar.

Docker swarm oluşturulması ve orkestrayonu konularını farklı başlıklar ile inceliyor olacağız.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

https://docs.docker.com/engine/swarm/

www.mshowto.org

TAGs: , Docker, , Swarm, Docker Swarm, Kubernetes,,

Yorum Yap

Yazar Hakkında

Onur Yüksektepeli - Chief Technology Architect | Micosoft MVP Onur Yüksektepeli Nephocraft firmasının kurucusu aynı zamanda kendi firmasında teknoloji çözümleri mimarıdır. 15 Yıldan fazla IT tecrübesi ile temel uzmanlık alanı olan Platform ve diğer teknolojiler için müşterilerine ürün ve hizmetler sunmaktadır. Microsoft MVP ünvanına sahip Onur Yüksektepeli birçok IT etkinliğinde aktif konuşmacı olarak ve IT topluluklarında yönetici olarak aktif rol üstlenmektedir. Nephocraft firmasın da yönetici olarak oluşturduğu çözümlerde yeni teknoloji gelişmelerini de göz önünde bulundurarak, müşterilerine esnek, yenilikçi, akıllı ve üretken iş çözümleri üretmektedir.Onur Yüksektepeli bulut, platform, data, devops, development gibi konularda aktif danışmanlık ve IT eğitmenliğine de devam etmektedir.

Yorum Yap