Docker Swarm Nedir?
Docker Swarm, Docker konteynerlerini küme (cluster) şeklinde yönetmenize yardımcı olan güçlü bir orkestrasyon aracıdır. Birden fazla Docker makinesini bir araya getirerek, yük dengeleme, servis keşfi ve otomatik yük dengelemesi gibi özellikler sağlar. Kendi veri merkezinizde, bulut ortamında veya her ikisinde de kolayca kullanılabilir.
Docker ile konteynerler arasında uygulamaları taşımak hiç bu kadar kolay olmamıştı. Swarm ise bu konteynerlerin yönetimini ve organizasyonunu bir üst seviyeye taşıyor. Bu yazıda, Docker Swarm kurulumunu ve nasıl yönetildiğini adım adım öğrenebilirsiniz.
Docker Swarm Kurulum Adımları
Adım 1: Docker’ı Yükleyin
Docker Swarm kullanabilmek için öncelikle Docker’ı kurmanız gerekir. Docker’ı her iki makinenize (ya da birden fazla sunucuya) yüklemelisiniz. Docker kurulumunu yapmak oldukça basit.
Ubuntu üzerinde Docker kurmak için aşağıdaki komutları kullanabilirsiniz:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
Bu komutlar Docker’ı sisteminize yükleyecek ve her şey hazır olacak!
Adım 2: Docker Swarm’ı Başlatın
Docker’ı yükledikten sonra, Docker Swarm’ı başlatma işlemine geçebilirsiniz. Bir makineyi Swarm'ın lideri (manager) olarak atayarak işe başlayabilirsiniz. Bunun için şu komutu çalıştırmanız yeterli:
docker swarm init
Bu komut, Docker Swarm'ı başlatacak ve sizin makinenizi Swarm lideri olarak belirleyecektir. Komut başarıyla çalıştıktan sonra, size bir token verilecektir. Bu token, diğer makineleri Swarm’a eklemek için kullanılacaktır.
Adım 3: Node Ekleme
Eğer daha fazla makineye Docker Swarm’a katılmalarını istiyorsanız, bu token ile diğer makineleri de ekleyebilirsiniz. Diğer makinelere bağlanmak için şu komutu kullanabilirsiniz:
docker swarm join --token :2377
Burada `
Adım 4: Swarm Durumunu Kontrol Edin
Swarm’a başarıyla katıldığınızı kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
docker node ls
Bu komut, Swarm kümesindeki tüm node'ları gösterecektir. Artık Docker Swarm üzerinde bir küme yapısına sahip oldunuz!
Docker Swarm Yönetimi
Adım 5: Servisleri Yönetme
Docker Swarm’daki en güçlü özelliklerden biri servis yönetimidir. Bir uygulamanızı Swarm içinde servis olarak başlatmak oldukça basittir. İşte temel bir örnek:
docker service create --name my-web-app --replicas 3 -p 80:80 nginx
Bu komut, 3 adet kopya (replica) ile Nginx servisinizin bir örneğini başlatacaktır. Burada `--replicas 3` seçeneği, üç adet Nginx konteyneri oluşturulmasını sağlar. Böylece servisinizin daha yüksek erişilebilirliğe sahip olmasını sağlayabilirsiniz.
Adım 6: Servis Durumunu Kontrol Etme
Başlattığınız servisin durumunu kontrol etmek için şu komutu kullanabilirsiniz:
docker service ps my-web-app
Bu komut, servisin hangi düğümlerde çalıştığını ve herhangi bir sorun olup olmadığını gösterir.
Adım 7: Servis Güncelleme
Bir servisi güncellemek için aşağıdaki komutu kullanabilirsiniz. Örneğin, Nginx’i yeni bir sürüme güncellemek isterseniz:
docker service update --image nginx:latest my-web-app
Bu komut, servisin tüm kopyalarını en son Nginx sürümüne güncelleyecektir. Güncellemeler, Swarm tarafından otomatik olarak yapılır ve servislerinizin kesintisiz çalışmasını sağlar.
Docker Swarm ile Yük Dengeleme
Docker Swarm'ın sunduğu bir diğer müthiş özellik ise yük dengelemesidir. Bir servis birden fazla replica’ya sahip olduğunda, Swarm otomatik olarak trafiği bu replica'lar arasında dengeler. Bu sayede, yüksek trafiği yönetmek çok daha kolay hale gelir.
Örneğin, yukarıda oluşturduğumuz web servisi için Swarm, gelen istekleri tüm Nginx örnekleri arasında dağıtır. Böylece tek bir sunucuya aşırı yük binmez ve her şey düzenli çalışır.
Sonuç
Docker Swarm ile konteynerlerinizi yönetmek çok kolay ve verimli hale gelir. Küme yapısı, yük dengelemesi ve servis güncellemeleri gibi özellikler sayesinde uygulamalarınızı büyük ölçeklerde yönetebilirsiniz. Docker Swarm, size her zaman sağlam, hızlı ve güvenilir bir altyapı sunar.
Eğer birden fazla Docker makinesiyle çalışıyorsanız ve bu makineler arasındaki tüm servisleri ve konteynerleri düzenli bir şekilde yönetmek istiyorsanız, Docker Swarm tam size göre! Hem küçük projeler hem de büyük ölçekli uygulamalar için mükemmel bir çözümdür.