Docker Swarm Mode
0

Docker Swarm docker 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ı docker engine ile entegre bir şekilde çalışır. Orkestrasyon işi ek olarak Docker ekosisteminde çok meşhur olan Kubernetes 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. ). Docker swarm’ı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ı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

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

www.mshowto.org

TAGs: Containers, Docker, Container Cluster, Swarm, Docker Swarm, Kubernetes,Docker Swarm nedir,Azure Kubernetes

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

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.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir