Ana içeriğe geç

Docker Swarm

Okunuşu
dokır suorm
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/docker-swarm

Kısaca

Docker Swarm, Docker Engine'e yerleşik küme modudur: birkaç makineyi tek bir swarm'da birleştirir ve konteynerleri bunlara çoğaltılmış servisler olarak dağıtır.

Docker Swarm nedir?

Resmî adıyla swarm modu olan Docker Swarm, Docker çalıştıran bir grup makineyi swarm adı verilen tek bir kümeye dönüştürür. 2016'da çıkan 1.12 sürümünden beri Docker Engine'e yerleşiktir, yani ek bir kurulum gerekmez: docker swarm init bir makineyi manager yapar, diğer makineler de bir token ile ona katılır. Bugün Classic Swarm diye anılan ve artık geliştirilmeyen eski bağımsız aracın yerini almıştır.

Konteynerleri tek tek başlatmak yerine servisler tanımlarsınız: hangi imajın çalışacağını, kaç kopya (replica) olacağını ve hangi portların yayınlanacağını. Manager düğümleri küme durumunu saklar ve Raft uzlaşma algoritmasıyla bu durum üzerinde anlaşır; kopyaları worker düğümlerine dağıtır ve çökenlerin yerine yenilerini koyar. Swarm ayrıca makineler arasında overlay ağlar, yayınlanan bir port için gelen trafiği herhangi bir düğümün kabul etmesini sağlayan bir routing mesh, kademeli güncellemeler ve şifreli secret'lar sunar. Bütün bir uygulama docker stack deploy ile bir Compose dosyasından dağıtılabilir.

Docker Compose tek bir mutfakta pişirilen bir tarifse Swarm, aynı tarifin birkaç mutfağa yayılmış hâlidir; bir mutfak kapandığında işi başka yere aktaran bir baş aşçı da vardır. Zaten bildikleri araç ve dosyalarla kümeleme isteyen ekiplere, örneğin küçük ve orta ölçekli production kurulumlarına, şirket içi sunuculara ve edge lokasyonlarına uyar. Docker'ın kurumsal işini 2019'da satın alan Mirantis ticari destek satar; swarm modu da Docker Engine'in arkasındaki açık kaynaklı Moby projesinin parçası olmaya devam eder.

Docker Swarm en çok Kubernetes ile karşılaştırılır. İkisi de konteynerleri bir küme üzerinde zamanlar, çökenleri yeniden başlatır ve güncellemeleri kademeli olarak yayar; ancak Swarm az sayıda kavramla yetinir, Docker komut satırını ve Compose dosyalarını yeniden kullanır. Kubernetes'in otomatik ölçekleme, custom resource'lar ve operator'lar gibi çok daha fazla özelliği ve her büyük bulutun yönetilen servis sunduğu çok daha geniş bir ekosistemi vardır. Swarm'ı öğrenmek ve işletmek daha kolaydır; büyük ya da karmaşık sistemler için olağan seçim Kubernetes'tir.

Önemli noktalar

  • Docker Swarm ya da swarm modu, birkaç Docker makinesini tek bir kümede birleştirir.
  • 2016'dan beri Docker Engine'e yerleşiktir; Classic Swarm ayrı ve emekliye ayrılmış bir araçtı.
  • Manager'lar küme durumunu Raft ile tutar; worker'lar konteynerleri çalıştırır.
  • Servisler imajı, kopya sayısını ve portları tanımlar; stack'ler bütün Compose dosyalarını dağıtır.
  • Kubernetes'ten daha basittir ama ekosistemi çok daha küçüktür.

Örnek

Bir swarm kurmak ve bir servis çalıştırmakbash
# On the first machine: create a swarm; this node becomes a manager
docker swarm init --advertise-addr 10.0.0.1

# On every other machine: join with the token that init printed
docker swarm join --token <worker-token> 10.0.0.1:2377

# Run three replicas of a web app spread across the nodes
docker service create --name web --replicas 3 --publish 80:8080 example/web:1.0
docker service ls

# Roll out a new version, one replica at a time by default
docker service update --image example/web:1.1 web

# Or deploy a whole application from a Compose file
docker stack deploy -c compose.yaml shop

Sık sorulan sorular

Docker Swarm hâlâ geliştiriliyor mu?

Evet. Swarm modu Docker Engine'in ve açık kaynaklı Moby projesinin bir parçasıdır ve hâlâ güncelleme alır. Emekliye ayrılan, ondan önce gelen ayrı araç Classic Swarm'dır. Yine de topluluğu ve araçları Kubernetes'inkilerden çok daha küçüktür.

Docker Swarm ile Kubernetes arasındaki fark nedir?

İkisi de konteynerleri bir küme üzerinde çalıştırır. Swarm Docker'a yerleşiktir, Compose dosyalarını kullanır ve dakikalar içinde kurulur; Kubernetes daha karmaşıktır ama çok daha fazla özellik, eklenti ve yönetilen bulut servisi sunar.

Docker Compose ile Docker Swarm arasındaki fark nedir?

Compose, çok konteynerli bir uygulamayı tek bir makinede çalıştırır. Swarm ise servisleri kopyalar, yedeğe geçiş ve kademeli güncellemelerle birkaç makine üzerinde çalıştırır ve aynı Compose dosyasını bir stack olarak dağıtabilir.

İlgili sayfalar

Kaynaklar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar