Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 5217|Yanıt: 3

Docker, Macvlan'ı kullanarak konteynerler için bağımsız bir IP adresi ayarlıyor

[Bağlantıyı kopyala]
Yayınlandı 19.11.2022 12:01:56 | | | |
Gereksinimler: Yönlendiricinin DHCP servisi aracılığıyla Docker konteynerine bağımsız bir LAN IP adresi atamak istiyorum, böylece geliştirilen ASP.NET Core uygulaması birden fazla sunucuya dağıtılabilir (yüksek kullanılabilirlik için uygulama birden fazla sunucuya dağıtılmalıdır) ve ardından birbirlerine aktarılabilirler.
Bazı uygulamalar, özellikle eski uygulamalar veya ağ trafiğini izleyenler, doğrudan fiziksel ağa bağlanmayı bekler. Bu durumda, macvlan ağ sürücüsünü kullanarak her konteynerin sanal ağ arayüzüne bir MAC adresi atayabilirsiniz, böylece fiziksel ağa doğrudan bağlanan bir ağ arayüzü gibi görünebilir. Bu durumda, Docker hostunuzda macvlan için fiziksel bir arayüz belirtmeniz gerekir. Ve. Macvlan'ın alt ağları ve geçitleri. Ağınızı farklı bir fiziksel ağ arayüzüyle izole edebilirsiniz.


Ağ kartı da sanallaştırılabilir mi? Ağ kartı sanallaştırma teknolojisi Macvlan'ın ayrıntılı açıklaması
https://www.itsvse.com/thread-10388-1-1.html
Öncelikle, ana makinenin fiziksel NIC'ini ayarlamanız gerekiyor"Serbest mod" moduna izin verirÖrneğin, ESXI'yi örnek alarak, sanal bir anahtarı şu şekilde kurun:



Sistem ortamı aşağıdaki gibidir:

CentOS Linux sürüm 7.9.2009 (Çekirdek)
Docker sürüm 20.10.20, build 9fdeb9c


Docker servisini CentOS 7 ana bilgisayarına kurun. (atlandı)



Hazırlamaknet.ipv4.ip_forward = 1, mevcut yapılandırmayı sysctl -a üzerinden görebilirsiniz, eğer 1 değilse lütfen 1 olarak değiştirin, eğitim bölüm çıkarılmıştır. Ana amaç, Linux ana bilgisayarında birden fazla ağ kartı olduğunda bir ağ kartının aldığı bilginin diğer ağ kartlarına iledilip geçirilemeyeceğini belirlemektir ve eğer bu kart 1'e ayarlanmışsa paket iletimine yapılabilir.

Docker hizmeti kurulduğunda, aşağıdaki komutla bir macvlan ağı oluşturun:

--ip-range: Alt kümeyi Docker 192.168.50.192/27'ye atamaya karar verildi; bu da 192.168.50.192'den başlayıp 192.168.50.223'te biten 32 adres aralığıdır.
--gateway: Gateway adresini ayarlayın, genellikle yönlendirici IP adresini, lütfen gerçek durumunuza göre ayarlayın
-o parent: Ana arayüz, yani ana bilgisayarın fiziksel NIC kartının adıdır ve gerçek duruma göre IP A üzerinden görüntülenebilir.


Oluşturma tamamlandıktan sonra, aşağıdaki komutla görüntüleyebilirsiniz:



Bir busybox konteyneri başlatmayı ve yeni oluşturulan macvlan ile şu komutla ağ kurmayı deneyin:

İpucu: Gerekirse, kabı verinIP adresini ayarlamak için --ip parametresini kullanınörneğin: --ip=192.168.50.210

Bir konteynerin IP adresini aşağıdaki komutu kullanarak görebilirsiniz:



Tabii ki, konteynerin içine girip aşağıdaki komutla da görüntüleyebilirsiniz:



BizLAN'daki diğer makineleri kullanarak konteynerin IP adresini ping atmayı deneyin, aşağıdaki şekilde gösterildiği gibi ping atabilirsiniz:



Yönlendiricinin IP ve MAC haritalama tablosuna baktığınızda, docker konteynerinin MAC/IP adresinin yönlendiricidekiyle aynı olduğunu görebilirsiniz; aşağıdaki şekilde gösterilmiştir:



Bir Redis konteynerini tekrar başlatmayı ve yeni MacVLAN ağını aşağıdaki komutla kurmayı deneyin:

CentOS ana bilgisayarının kendisinde de bir redis uygulaması çalışıyor ve o da 6379 portunu kullanıyor, ayrıca 6379 portunu kullanan bir redis konteyner uygulaması oluşturuyoruz, yaniAynı ana port 6379, iki farklı IP tarafından dinlenir, çalışıp yaramadığını görmeye çalış.

Test sonuçları normal şekilde çalışıyor, aşağıdaki şekilde gösterildiği gibi:





Kaynaklar

Bağlantı girişi görünür.




Önceki:Ağ kartı da sanallaştırılabilir mi? Ağ kartı sanallaştırma teknolojisi Macvlan'ın ayrıntılı açıklaması
Önümüzdeki:[Uygulama] FRP intranet penetrasyonunu kullanarak uzaktan masaüstü bağlantısı elde edin
Yayınlandı 28.11.2022 19:30:39 |
Öğrenmeyi öğren...
Yayınlandı 12.03.2023 09:18:32 |
Öğrenmeyi öğren
Yayınlandı 22.04.2023 15:45:19 |
Paylaştığınız için teşekkürler.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com