Konteyner Ağ Mimarisi (Container Networking)

chern0bly

Çılgın Türkler
Kurucu
Katılım
24 Eki 2019
Mesajlar
98
Tepkime puanı
48
Konum
6.Gezegen
Konteyner, işletim sistemi düzeyinde soyutlaştırma tekniği olarak tanımlanmaktadır. Sanal makinelerde uygulanan donanımsal katmanda sanallaştırma yöntemi yerine işletim sistemi düzeyinde sanallaştırma mantığına sahip olan ve içerdiği yazılımı bulunduğu altyapıdan bağımsız çalışacak şekilde izole eden konteynerler, çalıştırabilir bir yazılım paketi gibi düşünülebilir. Yazılımın donanımdan bağımsız çalışmasını sağlayarak geliştirme, test ve gerçek ortamda devreye alma süreçlerinde karşılaşılabilecek donanımsal farklılıklardan kaynaklanan sorunların etkisini azaltmaya yardımcı olur.

Konteynerler sanal makinelerin aksine ayrı bir işletim sistemi kullanmazlar, host işletim sistemini paylaşımlı kullanırlar. Konteyner imajı; bir programın çalıştırılması için gerekli olan kod, çalışma zamanı (runtime), sistem araçları, sistem kütüphaneleri (library) ve ayarlar gibi tüm bileşenleri içerir.

Konteyner ağlarının temel network gereksinimleri olarak konteynerin içinde bulunduğu ağa IP bağlantısı, IP adres yönetimi (IPAM) ve ağ cihazı oluşturma, Host sistemin NAT protokolü veya Route Advertisement üzerinden dış ağ bağlantısı gibi bileşenler sayılabilir. Aynı host üzerinde çalışan konteynerler birbirileriyle IP adresleri üzerinden haberleşebilirler. Bir ağ üzerinde haberleşmek için ise konteynerler host makinenin IP adresini kullanırlar ve iletişime geçmek istedikleri konteynere erişmek için port yönlendirme (port-mapping) yöntemine gereksinim duyarlar. Port yönlendirme, konteyner içinde çalışan uygulamanın kendisine ait olan dış IP ve port ikilisini yayınlamasına engel olmaktadır. Bu sorunun çözümü için Flannel gibi teknolojiler geliştirilmiştir. Bu ağ çözümleri konteynerlerin tüm diğer konteyner ve hostlar ile iletişime geçmelerine olanak sağlamaktadır.