Docker overlay network nasıl kullanılır? (Docker Swarm ile)

Docker Overlay Network Nedir?

Docker overlay network, birden fazla Docker host’u (sunucusu) arasında ağ oluşturmayı sağlayan bir Docker ağıdır. Bu tür bir ağ, Docker Swarm modunda çalışan hizmetler arasında iletişimi kolaylaştırmak amacıyla kullanılır. Overlay ağları, fiziksel veya sanal olarak ayrı olan Docker daemon’ları arasında iletişim kurmak için kullanılır. Uygulama hizmetleri, bu overlay ağı üzerinde bağımsız olarak iletişim sağlayabilir.

Docker Swarm Nedir?

Docker Swarm, Docker konteynerlerini yönetmek için kullanılan bir orkestrasyon aracıdır. Swarm, bir grup Docker daemon’unu bir araya getirip bunları tek bir sanal Docker sunucusu gibi yönetir. Swarm ile yük dengelemesi, yeniden dağıtım ve otomatik genişletme gibi işlemler kolaylaşır. Overlay network kullanarak, Swarm içindeki tüm hizmetler ve konteynerler arasında iletişim sağlamak mümkündür.

Overlay Network Oluşturma

Overlay network oluşturmak için öncelikle Docker Swarm modunun etkinleştirilmesi gerekir. Bunun için aşağıdaki komut kullanılarak Swarm moduna geçiş yapılır:

“`
docker swarm init
“`

Bu komut, mevcut Docker host’unu Swarm yöneticisi (manager) olarak başlatır. Eğer birden fazla node kullanılıyorsa, diğer node’ların Swarm’a katılması için yöneticiden alınan token bilgisi kullanılarak şu komut çalıştırılır:

“`
docker swarm join –token : “`

Swarm moduna geçildikten sonra overlay ağı oluşturmak için şu komut kullanılır:

“`
docker network create –driver overlay
“`

Bu komut, verdiğiniz isimle yeni bir overlay ağı oluşturur.

Servis Oluşturma

Overlay network oluşturulduktan sonra bu ağa bağlı konteynerler ve hizmetler oluşturulabilir. Örneğin, bir Nginx servisi oluşturmak ve bunu overlay ağa bağlamak için aşağıdaki komut kullanılabilir:

“`
docker service create –name nginx-service –network nginx
“`

Bu komut, Nginx konteynerini bir hizmet olarak yaratır ve oluşturulan overlay ağa otomatik olarak bağlanmasını sağlar.

Servisler Arası İletişim

Overlay network, swarm içerisinde çalışan servisler arasında iletişimi kolaylaştırır. Herhangi bir servis, kendi adını kullanarak diğer bir servise ulaşabilir. Örneğin, Nginx hizmeti, bir başka servise HTTP isteği göndermek için o servisin adını kullanabilir:

“`
curl http://
“`

Swarm, ad çözümlemesini otomatik olarak yönetir, bu nedenle servisler DNS adlarını kullanarak birbirlerine erişebilirler.

Ağı Yönetme

Oluşturulan overlay ağının içeriği ve durumu yönetilebilir. Ağı listelemek için şu komut kullanılabilir:

“`
docker network ls
“`

Belirli bir ağ hakkında daha fazla bilgi almak için ise:

“`
docker network inspect
“`

Bu komut, ağa bağlı olan tüm konteynerleri, IP adreslerini ve diğer yapılandırma bilgilerini gösterir. Eğer ihtiyaç duyulursa, overlay ağını silmek için:

“`
docker network rm
“`

komutu kullanılabilir. Ancak, ağ üzerinde halen çalışan hizmetler varsa bu işlem gerçekleştirilemez.

Uygulama Dağıtımı

Overlay network kullanımının en önemli avantajlarından biri, uygulama dağıtımının kolaylaşmasıdır. Docker Stack, birden fazla servisi, ağ ve diğer kaynakları tanımlayan bir YAML dosyası ile birlikte kullanarak, tüm uygulama altyapısını basit bir şekilde dağıtmayı sağlar. Örneğin, `docker-compose.yml` dosyası oluşturularak, aşağıdaki gibi bir yapı kullanılabilir:

“`yaml
version: ‘3’

services:
web:
image: nginx
deploy:
replicas: 3
networks:

networks:
:
external: true
“`

Bu yapılandırma ile, stack’i dağıtmak için şu komut kullanılır:

“`
docker stack deploy -c docker-compose.yml
“`

Sonuç

Docker overlay network, Docker Swarm modunda hizmetlerin bir arada çalışmasını ve birbirleriyle iletişim kurmasını sağlayan önemli bir bileşendir. Overlay ağları, dağıtık sistemlerin yönetimini kolaylaştırır ve uygulamaların ölçeklenebilirliğini artırır. Bu sayede, geliştiriciler daha esnek ve verimli çözümler ortaya koyma imkânına sahip olur. Overlay network kullanımı, doğru yapılandırıldığı takdirde, hizmetlerin güvenilirliğini ve performansını artırabilir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR