Share via


Kubernetes kümeleri için MetalLB'ye genel bakış

Şunlar için geçerlidir: Azure Stack HCI, sürüm 23H2

AKS Arc kümenizi ayarlarken, hizmetlerinizin küme dışında erişilebilir olmasını sağlamak için bir yönteme ihtiyacınız vardır. Tür LoadBalancer bu erişilebilirlik için idealdir, ancak dış IP beklemede kalır. MetalLB Arc uzantısı, uygulamalarınız ve hizmetleriniz için dış IP'ler oluşturmanıza olanak tanıyan bir araçtır. Arc özellikli Kubernetes kümeleri, k8s uzantısını Arc Networking kullanarak MetalLB ile tümleştirebilir.

Hizmetlerinizin küme dışında erişilebilir olmasını sağlamak için MetalLB'nin IP adreslerine ihtiyacı vardır. MetalLB, hizmetleri oluştururken gerektiğinde bu adresleri atamayı ve yayınlamayı üstlenir, ancak yalnızca yapılandırılan havuzlarında bulunan IP'leri dağıtır. MetalLB bir hizmete dış IP adresi atadığında, küme dışındaki ağa bu IP'nin kümeye ait olduğunu bildirir. Bu iletişim, ARP veya BGP gibi standart ağ protokolleri kullanılarak gerçekleştirilir.

  • Katman 2 modu (ARP): Katman 2 modunda, kümedeki bir K8s düğümü hizmetin sahipliğini alır ve standart adres bulma protokollerini (IPv4 için ARP) kullanarak bu IP'lere yerel ağda erişilebilir hale getirir. LAN'ın bakış açısından, duyuru makinesinin birden çok IP adresi vardır.
  • BGP: BGP modunda, kümedeki tüm makineler, denetlediğiniz yakındaki yönlendiricilerle BGP eşleme oturumları oluşturur ve bu yönlendiricilere trafiğin hizmet IP'lerine nasıl iletileceğini söyler. BGP'nin kullanılması, birden çok düğümde gerçek yük dengelemeye ve BGP'nin ilke mekanizmaları nedeniyle ayrıntılı trafik denetimine olanak tanır.

MetalLB'nin iki bileşeni vardır:

  • Denetleyici: her hizmeti type=loadbalanceriçin IP ayırmadan sorumludur.
  • Konuşmacı: veya BGP protokol kullanarak ARP IP'nin reklamını gerçekleştirmekle sorumludur. Yüksek kullanılabilirlik (HA) gereksinimini karşılamak için konuşmacı dağıtımı bir daemonset'tir.

Not

  • Konuşmacı podları konak ağını kullanır; Örneğin IP'leri düğüm IP'leridir, böylece yayın iletilerini doğrudan konak ağ arabirimi üzerinden gönderebilirler.
  • Denetleyici podu, kümedeki herhangi bir düğümde bulunan normal bir poddur.

MetalLB Mimarisi

  • ARP modunda öncü olarak hoparlör podlarından biri seçilir. Ardından IP'yi bir ARP yayın iletisi kullanarak tanıtarak IP'yi içinde yaşadığı düğümün MAC adresiyle bağlar. Bu nedenle, tüm trafik önce bir düğüme isabet eder ve ardından kube-proxy bunu hizmetin tüm arka uç podlarına eşit olarak yar.
  • BGP modunda, tüm küme düğümleri sekmede BGP Peers oluşturulan tüm BGP eşleriyle bağlantı kurar. Genellikle BGP eşleri bir TOR anahtarıdır. BGP yönlendirme bilgilerini yayınlamak için BGP eşlerinin küme düğümlerinin IP'sini ve ASN'sini tanıyacak şekilde yapılandırılması gerekir. BGP'yi ECMP (Eşit Maliyetli MultiPath) ile kullandığınızda, trafik tüm düğümlerde eşit olarak isabet eder ve bu nedenle gerçek yük dengeleme sağlar.

MetalLB L2 (ARP) ve BGP modlarını karşılaştırma

MetalLB ile L2 ve BGP modu arasındaki seçim, gereksinimlerinize, ağ altyapınıza ve dağıtım senaryolarınıza bağlıdır:

Görünüş L2 (ARP) modunda MetalLB BGP modunda MetalLB
Genel Bakış Katman 2 modunda, bir K8s düğümü bir hizmeti yerel ağa tanıtma sorumluluğunu üstlenir. Ağ perspektifinden bakıldığında, K8s düğümünde ağ arabirimine atanmış birden çok IP adresi var gibi görünüyor. BGP modunda, kümenizdeki her K8s düğümü ağ yönlendiricilerinizle bir BGP eşleme oturumu oluşturur ve dış küme hizmetlerinin IP'lerini tanıtmak için bu eşleme oturumunu kullanır.
IP adresi ataması MetallLB IP adresi havuzları K8s düğümleriyle aynı alt ağda olmalıdır. MetallLB IP adresi havuzları K8s düğümlerinden farklı bir ağda olabilir.
Yapılandırma karmaşıklığı Düşük. Kubernetes düğümlerinizle aynı ağda IP adresleri sağladığınızdan, MetalLB'yi ayarlarken yalnızca bir IP CIDR veya IP havuzu belirtmeniz gerekir. Yüksek. BGP'yi yapılandırmak için BGP protokolü ve ağ altyapınızın anlaşılması gerekir.
Ölçeklenebilirlik Küçük ve orta ölçekli K8s dağıtımları için uygun olan Katman 2 ağları ile sınırlıdır. Karmaşık ağ topolojileri ve büyük ölçekli K8s dağıtımları için uygundur.
Altyapı ağıyla uyumluluk Tüm ağlarla çalışır, ancak tüm hizmetler için tek bir IP kullanıldığından ve hizmetin giriş bant genişliği tek bir düğümün bant genişliğiyle sınırlı olduğundan büyük K8s kümelerinde ARP taşmasına neden olabilir. Ağ altyapısında BGP desteği gerektirir.
Trafik mühendisliği Trafik yönlendirme üzerinde sınırlı denetim. BGP özniteliklerini kullanarak trafik yönlendirmesi üzerinde ayrıntılı denetim.
Dış bağlantı Dış bağlantı için daha fazla yapılandırma gerektirir. BGP yönlendirmesi kullanarak dış ağlarla sorunsuz bağlantı sağlar.

Sonraki adımlar