Docker Swarm, Docker'ın yerel küme yönetimi ve orkestrasyon aracıdır.
Docker Swarm, Docker’ın yerel küme yönetimi ve orkestrasyon aracıdır. VDS (Virtual Dedicated Server) ortamlarında, birden fazla sunucuyu birleştirerek yüksek erişilebilirlik, yük dengeleme ve ölçeklenebilirlik sağlayan güçlü bir çözüm sunar. Bu makalede, VDS sunucularınız üzerinde Docker Swarm kümesini adım adım kurmayı ele alacağız. Kurulum süreci, ön hazırlıklardan servis dağıtımına kadar pratik talimatlarla desteklenecek olup, kurumsal ortamlarda güvenilir bir altyapı oluşturmanıza yardımcı olacaktır. Swarm modu ile container’larınızı otomatik olarak yönetebilir, arızalarda hızlı kurtarma sağlayabilir ve kaynak kullanımını optimize edebilirsiniz.
VDS sunucularınızı Docker Swarm için hazırlamak, sorunsuz bir kurulumun temelini oluşturur. En az üç VDS sunucusu önerilir: bir manager node ve iki worker node. Her sunucuda Ubuntu 20.04 veya üstü gibi stabil bir Linux dağıtımı kullanın. Sunucular arası SSH erişimini sağlayın ve firewall kurallarını yapılandırın. UFW ile 2377 (Swarm yönetimi), 7946 (node keşfi) ve 4789 (overlay ağ) portlarını açın. Bu portlar, küme iletişimini güvence altına alır.
sudo apt update && sudo apt upgrade -y.sudo systemctl enable --now docker.Docker kurulumunu doğrulayın: docker --version komutu ile sürümü kontrol edin. Swarm modunu etkinleştirmek için öncelikle Docker Compose’u da yükleyin, çünkü servis tanımlamalarında faydalıdır. Bu adımlar tamamlandıktan sonra, her node’da kullanıcıyı docker grubuna ekleyin: sudo usermod -aG docker $USER ve oturumu yenileyin. Bu hazırlıklar, küme stabilitesini artırır ve olası uyumluluk sorunlarını önler. Yaklaşık 100 kelimelik bu bölüm, pratik adımlarla 15-20 dakikada tamamlanabilir.
İlk VDS sunucunuzu manager node olarak belirleyin. Swarm modunu başlatmak için şu komutu çalıştırın: docker swarm init --advertise-addr <VDS_IP_ADRESI>. Bu komut, bir token üretir ve manager node’u aktif hale getirir. Token’ı not alın, çünkü worker node’ları eklemek için gereklidir. Swarm durumunu docker node ls ile kontrol edin; tek node’unuz READY durumunda olmalıdır. Manager node, Raft konsensüs algoritması ile küme metadata’sını yönetir ve quorum için en az üç manager önerilir.
Diğer VDS sunucularında, manager’dan aldığınız join komutunu çalıştırın: docker swarm join --token <TOKEN> <MANAGER_IP>:2377. Bu işlem, worker’ları küme’ye bağlar. Node listesini manager’dan yenileyin; tüm node’lar DOWN olmaktan READY’ye geçer. Node etiketleme ile roller atayın: docker node update --label-add type=worker <NODE_ID>. Bu, servis yerleştirmesini optimize eder. Küme sağlığını izleyin: docker node inspect <NODE_ID> ile CPU, bellek ve durum detaylarını görüntüleyin. Arıza durumunda node’u yeniden başlatın veya drain edin.
Swarm hazırlandıktan sonra, uygulamalarınızı servis olarak dağıtın. Docker Compose v3 formatını kullanın; stack deploy ile yönetin. Örnek bir nginx servis stack’i oluşturun: compose.yaml dosyasında version: ‘3.8’, services altında nginx image’ını tanımlayın, replicas: 3 ve ports belirtin. Dağıtım: docker stack deploy -c compose.yaml myapp. Swarm, container’ları node’lar arası otomatik yerleştirir ve load balancing sağlar.
docker service scale myapp_nginx=5.docker service update.docker network create --driver overlay myoverlay, servisleri bağlayın.İzleme için docker service ls ve docker stats kullanın. Secrets ve config’ler ile hassas verileri yönetin: docker secret create mysecret - < dosya. Bu özellikler, kurumsal güvenlik standartlarını karşılar. Performansı artırmak için resource limits tanımlayın: cpus: ‘0.5’, memory: 512M. Günlükleri merkezi olarak toplayın: docker service logs myapp_nginx. Bu pratikler, üretim ortamlarında kesintisiz operasyon sağlar.
Docker Swarm’un VDS üzerindeki kurulumu, ölçeklenebilir ve dayanıklı container orkestrasyonu getirir. Bu adımları takip ederek, ekibiniz hızlıca üretime geçebilir. Düzenli bakım, node güncellemeleri ve yedekleme ile kümenizi uzun vadeli yönetin. Potansiyel sorunlarda logları inceleyin ve dokümantasyonu temel alın; bu yaklaşım, verimliliği maksimize eder ve işletmenizin dijital altyapısını güçlendirir.