Docker Swarm ile Docker Düğümlerini Bir Araya Getirmek

Merhaba Arkadaşlar,

Uzunca bir aradan sonra yine tekrar bir Docker serisi ile karşınızdayım. Bilindiği üzere Docker işleri kolaylaştıran muhteşem bir linux sanallaştırma araçlarından biri (tam olarak sanallaştırma sayılmasa da 🙂 ) Diyelim ki birden fazla Docker kurulu sunucunuz var her biri üzerinde container’lar mevcut. Ama container’larınızı tek bir havuzdan yönetmek istiyorsunuzdur veya ilerde scaling gibi hedefleriniz var. İşte Burada Docker Swarm imdadınıza yetişiyor.

photo_1448965531_temp

 

Bütün container’larınızı tek bir havuzda toplayıp hızlıca yönetmek belki başlangıçta değil ama ileriki aşamalarda işimize çok yarayacak. Burada bu düzenlemeleri yaparken güvenliği de ele alacağız. Yani Docker’ın TLS authentication mekanizmasını kullanacağız fakat bunu sonraki yazımda paylaşmayı hedefliyorum.. Öncelikle başlamadan en azından iki adet sunucumuzun olduğunu varsayıyoruz ve buna istinaden yola koyuluyoruz 🙂

Öncelikle şunu bilmekte fayda görüyorum. Docker Swarm’da bir yönetici ve birden fazla düğüm olabilir Aslında birden fazla yönetici de olabilir ama biz buna girmeyelim 🙂 Öncelikle yönetici olacak makinaya ssh bağlantısı yapalım ve Docker’a uzaktan erişimi aktif edelim. Bunun için:

komutu ile editörde konfigürasyon dosyamızı açıyoruz ve DOCKER_OPTS= parametresine aşağıdaki kodu ekleyelim:

Böylelikle Dışarıdan erişime izin verdik burada önemli bir husus var TLS authentication kullanmayacaksanız 0.0.0.0 ip adresi sakıncalı çünkü Docker’a her ip adresinden erişim yetkisi verildi yani public ip üzerinden de docker daemon’a erişme yetkisi verildi. O yüzden  siz isterseniz private ip’niz ile değiştirebilirsiniz. Not: Bu işlemi aynı şekilde diğer makineler içinde yapacaksınız. Böylelikle erişim konusunda bir sıkıntımız kalmıyor.

Hemen devam edelim. Öncelikle yönetici olacak sunucumuzda docker üzerinden aşağıdaki komutu çalıştırıyoruz ve düğümlerin birbirini görmesi için bir token oluşturuyoruz ve bunu bir yere not edelim.

Örnekte yukarıdaki gibi bir token üretti bir burada örnek olsun diye bu token’ı kullanacağız. Öncelikle swarm manager’ı oluşturalım:

Not: Token’ı not aldığınız ile değiştirmeyi unutmayın !. Böylelikle swarm manager’ı oluşturmuş olduk. Dikkat ettiyseniz 3375 portunu atadık yani docker swarm manager’a bu port üzerinden ulaşacağız. Hemen ardından eğer manager’ın kurulu olduğu makine aynı zamanda bir node yani düğüm olmasını istiyorsak onu dahil etmeliyiz. Bunun için

komutunu manager’ın kurulu olduğu sunucuda çalıştırabiliriz. Burada dikkat edilmesi gereken husus addr parametresine sunucunun kendi ip adresini veriyoruz yani eklenen yeni düğümün ip adresi olmalı.  Aynı şekilde diğer sunuculara da bağlanıp bu komutu çalıştırıyoruz ve hepsinin manager’a bağlanmasını sağlıyoruz. Hemen ardından bağlanan Docker Swarm Node’ları kontrol etmek için herhangi bir sunucunuzda aşağıdaki kodu çalıştırıp hangi ip adresleri bağlanmış görebiliyoruz:

Şimdi manager sunucumuza giriş yapalım ve duruma bir göz atalım :

Göründüğü üzere buradan her türlü bilgiye ulaşabiliyoruz. İşlemleri sanki tek bir Docker daemon kullanıyormuşuz gibi artık yapabileceğiz. İşlemleri yapmadan önce -H parametresini kullanmayı unutmayın 🙂 TLS Authentication konusuna ileriki yazımda değineceğim.

Umarım faydalı olmuştur. Şimdiden iyi çalışmalar 🙂

 

Bu yazı Yazılarım kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Docker Swarm ile Docker Düğümlerini Bir Araya Getirmek için 1 cevap

  1. arif emre der ki:

    docker hakkındaki tüm yazılarınızı okudum, çok faydalı oldu, teşekkür ederim. yeni yazıları dört gözle bekliyorum. Allah razı olsun

     

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir