Docker Swarm Nasıl Kurulur ve Yönetilir? Adım Adım Kılavuz

Docker Swarm Nasıl Kurulur ve Yönetilir? Adım Adım Kılavuz

Docker Swarm ile container orkestrasyonu nasıl yapılır? Docker Swarm’ı kurma ve yönetme adımlarını öğrenin.

BFS

Docker, son yılların en popüler container yönetim araçlarından biri haline geldi. Container teknolojisi, yazılımın her türlü ortamda (geliştirme, test, üretim) aynı şekilde çalışmasını sağlar ve bu da birçok yazılım geliştiricisinin işini kolaylaştırır. Ancak bir noktada, Docker'ı tek başına kullanmak yeterli olmayabilir. Birden fazla Docker container'ını aynı anda yönetmek, yük dengeleme ve yüksek erişilebilirlik gereksinimleri doğurur. İşte tam bu noktada Docker Swarm devreye giriyor. Peki, Docker Swarm nedir ve nasıl kurulur? Hadi, bunu adım adım keşfedelim!

Docker Swarm Nedir?



Docker Swarm, Docker'ın bir container orkestrasyon aracıdır. Yani, birden fazla Docker host'unu tek bir sanal sunucu gibi yönetmenizi sağlar. Bu sayede, her şeyin düzgün bir şekilde çalışmasını sağlamak için çeşitli Docker container'larını birleştirip, dağıtabilir, ölçeklendirebilir ve yönetebilirsiniz.

Docker Swarm ile, yalnızca tek bir node’da çalışan container’larınızı bir cluster’a dönüştürüp, tüm cluster’ı yönetebilirsiniz. Peki, Docker Swarm kurulumuna nasıl başlarız?

Docker Swarm Kurulumu: Adım Adım



Docker Swarm kurulumu oldukça basittir. Burada, Docker Swarm’ı birden fazla node’a (yani bilgisayara) kuracağız. Her node, bir Docker host olacak ve bu host’lar birbiriyle iletişim kuracak.

Adım 1: Docker’ın Yüklenmesi



İlk adım, Docker’ı sisteminize yüklemektir. Docker’ı kurmak için terminali açıp aşağıdaki komutu çalıştırabilirsiniz:


sudo apt-get update
sudo apt-get install docker-ce


Bu komut Docker’ı sisteminize kuracaktır. Eğer Ubuntu kullanıyorsanız, bu adım sizin için yeterlidir.

Adım 2: Docker Swarm Başlatma



Docker’ı kurduktan sonra, artık Swarm modunu başlatabiliriz. Swarm, bir Docker host’unda başlatılır ve bu host, "Swarm Manager" olarak görev yapar. Swarm’ı başlatmak için şu komutu kullanabilirsiniz:


docker swarm init


Bu komut, Docker Swarm’ı başlatacak ve bu makineyi bir yönetici (manager) node olarak belirleyecektir. Eğer birkaç node kullanacaksanız, "join token" almanız gerekecek. Swarm Manager’ın çıktısı aşağıdaki gibi olacak:


docker swarm join --token SWMTKN-1-5lxswckf9uvz7lq37fp78hjfyyhgo-3ckg4kxpns9on8z6b84dqeexx 192.168.0.1:2377


Bu token, diğer node’lar için gereklidir. Şimdi diğer makinelerde Swarm’a katılacakları bir komut verebiliriz.

Adım 3: Swarm’a Node Ekleme



Başka bir makineyi Swarm’a eklemek için, daha önce aldığınız token’ı kullanarak bu komutu çalıştırabilirsiniz:


docker swarm join --token SWMTKN-1-5lxswckf9uvz7lq37fp78hjfyyhgo-3ckg4kxpns9on8z6b84dqeexx 192.168.0.1:2377


Bu işlem tamamlandığında, o makine de Swarm’a katılacak ve Docker container’larını aynı ağda yönetebileceğiz.

Adım 4: Swarm Durumunu Kontrol Etme



Şimdi her şeyin doğru çalıştığından emin olalım. Docker Swarm’ı başlatıp node’ları ekledikten sonra, şu komutla Swarm cluster’ınızın durumunu kontrol edebilirsiniz:


docker node ls


Bu komut, tüm node’ları listeleyecek ve her node’un durumunu (aktif, offline, vb.) gösterecektir.

Adım 5: Swarm’da Servis Oluşturma ve Yönetme



Docker Swarm’ı kurduktan sonra, artık container’larınızı dağıtıp yönlendirebilirsiniz. Örneğin, bir web uygulaması çalıştırmak istiyorsanız, aşağıdaki komutu kullanarak bir servis oluşturabilirsiniz:


docker service create --name webapp -p 80:80 nginx


Bu komut, Nginx’ı web uygulamanız olarak başlatacak ve 80 numaralı portu dış dünyaya açacaktır.

Adım 6: Servis Ölçeklendirme



Docker Swarm ile servislerinizi ölçeklendirmek oldukça kolaydır. Eğer daha fazla instance (örnek) çalıştırmak isterseniz, şu komutu kullanabilirsiniz:


docker service scale webapp=5


Bu komut, "webapp" servisini 5 farklı node’da çalışacak şekilde ölçeklendirecektir.

Adım 7: Swarm’daki Servisleri Güncelleme



Bir servisinizi güncellemek için, aşağıdaki komutu kullanabilirsiniz. Bu örnekte, Nginx’ın yeni bir sürümünü dağıtıyoruz:


docker service update --image nginx:latest webapp


Bu komut, mevcut servisi yeni Nginx sürümüyle güncelleyecektir.

Docker Swarm Yönetimi: Günlük Bakım ve İpuçları



Docker Swarm’ı yönetmek, birkaç önemli adımı ve bakım gereksinimini içerir. İşte bazı ipuçları:

- Yedekleme Yapın: Swarm Manager node’larının verilerini düzenli aralıklarla yedekleyin. Eğer bir Manager node’u çökerse, diğer node’lar işlevini sürdürebilir, ancak veriler kaybolabilir.
- Monitor Edin: Docker Swarm cluster’ınızdaki her bir node ve servisi izlemek için monitoring araçları kullanın. Docker, Swarm için çeşitli logging ve monitoring araçları sunmaktadır.
- Cluster Büyüklüğü: Docker Swarm, genellikle küçük ve orta ölçekli uygulamalar için uygundur. Büyük projelerde Kubernetes gibi daha gelişmiş orkestrasyon araçlarını tercih edebilirsiniz.

Docker Swarm, büyük projelerde container’ları yönetmek için güçlü bir araçtır. Kolay kurulumu ve güçlü yönetim özellikleri ile Docker Swarm, tüm yazılım geliştiricilerinin hayatını kolaylaştırabilir. Şimdi, adım adım Docker Swarm’ı kurarak container’larınızı verimli bir şekilde yönetmeye başlayabilirsiniz!

İlgili Yazılar

Benzer konularda diğer yazılarımız

SonarQube ile Kod Analizi Nasıl Yapılır? Adım Adım Rehber

SonarQube Nedir?SonarQube, yazılım geliştiricilerinin kodlarını analiz ederek, hataları ve potansiyel sorunları tespit etmelerine yardımcı olan güçlü bir araçtır. Bir tür "kod doktoru" olarak, yazılımlarınızı inceleyip sağlıklı olup olmadığını söyler....

Bitbucket Pipelines Nasıl Kullanılır? Etiketler: Bitbucket, Pipelines, DevOps, Sürekli Entegrasyon, CI/CD İçerik:

Bugün size yazılım geliştirme sürecinizi daha verimli hale getirebilecek bir araçtan bahsedeceğim: Bitbucket Pipelines. Eğer kod yazıyorsanız ve proje yönetiminizi daha etkili hale getirmek istiyorsanız, Bitbucket Pipelines tam size göre. Hadi, başlıyoruz!Bitbucket...

Kubernetes Nasıl Kurulur? (Linux)

Giriş: Kubernetes Dünyasına Adım AtmakBazen yazılım dünyasında öyle bir araç vardır ki, adını duyduğunuz anda, "Evet, bu kesinlikle işimi kolaylaştıracak!" dersiniz. İşte Kubernetes tam da böyle bir araç. Özellikle bulut tabanlı uygulamalar ve mikroservis...