Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Yerel üzerinde AKS için geçerlidir
Yük dengeleyicinin temel amacı, trafiği bir Kubernetes kümesindeki birden çok düğüme dağıtmaktır. Bu, kapalı kalma süresini önlemeye ve uygulamaların genel performansını iyileştirmeye yardımcı olabilir. AKS Hibrit ve Edge, Arc uzantısı kullanarak Kubernetes kümenizde MetalLB yük dengeleyici örneği oluşturmayı destekler.
Önkoşullar
- En az bir Linux düğümüne sahip Azure Arc özellikli kubernetes kümesi. Azure CLI'yi veya Azure portalını kullanarak Azure Yerel'de bir Kubernetes kümesi oluşturabilirsiniz. Azure Yerel kümelerindeki AKS varsayılan olarak Arc etkindir.
- Yük dengeleyici için yeterli IP adresine sahip olduğunuzdan emin olun. Azure Yerel'de AKS için yük dengeleyici için ayrılmış IP adreslerinin Arc VM mantıksal ağlarındaki VE denetim düzlemi IP'lerindeki IP adresleriyle çakışmadığından emin olun. Kubernetes'te IP adresi planlaması ve ağ hakkında daha fazla bilgi için bkz. Kubernetes için ağ gereksinimleri ve Kubernetes için IP adresi planlaması.
- Bu nasıl yapılır kılavuzunda MetalLB'nin nasıl çalıştığını anladığınız varsayılır. Daha fazla bilgi için bkz: MetalLB için Kubernetes genel bakışı.
Azure CLI uzantısını yükleme
Gerekli Azure CLI uzantısını yüklemek için aşağıdaki komutu çalıştırın:
az extension add -n k8s-runtime --upgrade
MetalLB için Arc uzantısını etkinleştirme
Devam etmeden önce aşağıdaki değişkenleri yapılandırın:
| Parametre | Açıklama |
|---|---|
$subId |
Kubernetes kümenizin Azure abonelik kimliği. |
$rgName |
Kubernetes kümenizin Azure kaynak grubu. |
$clusterName |
Kubernetes kümenizin adı. |
Seçenek 1: MetalLB için Arc uzantısını az k8s-runtime load-balancer enable kullanarak etkinleştirin
Aşağıdaki komutu kullanarak MetalLB için Arc uzantısını etkinleştirmek için Application.Read.All Graf iznine sahip olmanız gerekir. Azure aboneliğinizde oturum açıp aşağıdaki komutu çalıştırarak bu izne sahip olup olmadığınızı de kontrol edebilirsiniz:
az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json
Komut başarısız olursa, Application.Read.All rolünü almak için Azure kiracı yöneticinizle iletişime geçin.
İzniniz varsa Komutunu kullanarak Arc uzantısını az k8s-runtime load-balancer enable yükleyebilir ve Kubernetes kümeniz için kaynak sağlayıcısını kaydedebilirsiniz. parametresi Kubernetes --resource-uri kümenizin kaynak yöneticisi kimliğine başvurur:
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Seçenek 2: MetalLB için Arc uzantısını kullanarak etkinleştir az k8s-extension add
Graph izinlerine sahip değilseniz Application.Read.All, şu adımları takip edebilirsiniz:
Henüz kaydetmediyseniz,
Microsoft.KubernetesRuntime RPkaydedin. Azure aboneliği başına yalnızca bir kez kaydolmanız gerektiğini unutmayın. Azure portalını kullanarak kaynak sağlayıcılarını da kaydedebilirsiniz. Kaynak sağlayıcılarını kaydetme ve gerekli izinler hakkında daha fazla bilgi için bkz kaynak sağlayıcısını nasıl kaydedeceğiniz.az provider register -n Microsoft.KubernetesRuntimeAşağıdaki komutu çalıştırarak kaynak sağlayıcısının başarıyla kaydedilip kaydedilmediğini de kontrol edebilirsiniz.
az provider show -n Microsoft.KubernetesRuntime -o tableBeklenen çıktı:
Namespace RegistrationPolicy RegistrationState --------------------------- -------------------- ------------------- Microsoft.KubernetesRuntime RegistrationRequired RegisteredMetalLB için Arc uzantısını yüklemek için MetalLB uzantısı kaynak sağlayıcısının AppID'sini alın ve uzantı oluşturma komutunu çalıştırın. Arc Kubernetes kümesi başına aşağıdaki komutları bir kez çalıştırmanız gerekir.
az ad sp list komutunu çalıştırarak Arc uzantısının Uygulama Kimliğini alın. Aşağıdaki komutu çalıştırmak için Azure kiracınızın bir
userüyesi olmanız gerekir. Kullanıcı ve konuk üyeliği hakkında daha fazla bilgi için bkz . Microsoft Entra Id'de varsayılan kullanıcı izinleri.$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsvobjIDaldıktan sonra, MetalLB Arc uzantısını Kubernetes kümenize yükleyebilirsiniz. Aşağıdaki komutu çalıştırmak için Kubernetes uzantısı katkıda bulunan rolüne sahip olmanız gerekir.az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking
Kubernetes kümenizde MetalLB yük dengeleyici dağıtma
Artık komutunu çalıştırarak az k8s-runtime load-balancer create Kubernetes kümeniz için uzaktan bir yük dengeleyici oluşturabilirsiniz. Bu komut, ad alanında IPAddressPooltüründe kube-system bir özel kaynak oluşturur.
Devam etmeden önce aşağıdaki değişkenleri yapılandırın:
| Parametre | Açıklama |
|---|---|
$lbName |
MetalLB yük dengeleyici örneğinizin adı. |
$advertiseMode |
MetalLB yük dengeleyicinizin modu. Desteklenen değerler , ARPveya BGP'dırBoth. |
$ipRange |
MetalLB yük dengeleyici için ARP veya Both modunda IP aralığı. |
Eğer tanıtım modu BGP veya Both ise, ayrıca BGPAdvertisement türünde bir özel kaynak da oluşturur. Tanıtma modu ARP veya Both ise, L2Advertisement türünde bir özel kaynak da oluşturur.
az k8s-runtime load-balancer create --load-balancer-name $lbName --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName --addresses $ipRange --advertise-mode $advertiseMode
Kubernetes kümeniz için BGP eş oluşturma
az k8s-runtime bgp-peer create komutunu çalıştırarak Kubernetes kümeniz için uzaktan bir BGP eşliği oluşturun. BGP eşlerinin, BGP veya Both tanıtma moduna sahip olan tüm yük dengeleyiciler için etkili olduğunu unutmayın. MetalLB yük dengeleyiciyi BGP veya Both modunda kullanıyorsanız BGP eşleri oluşturmak zorunludur.
Devam etmeden önce aşağıdaki değişkenleri yapılandırın:
| Parametre | Açıklama |
|---|---|
$peerName |
BGP eşinizin adı. |
$myASN |
Oturumun yerel sonu için kullanılacak AS numarası. |
$peerASN |
Oturumun uzak ucundan bekleyebileceğiniz AS numarası. |
$peerIP |
Oturum oluşturulurken aranacak adres. |
az k8s-runtime bgp-peer create --bgp-peer-name $peerName --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName --my-asn $myASN --peer-asn $peerASN --peer-address $peerIP
Sonraki adımlar
Kubernetes kümenize uygulama dağıtmak için GitOps Flux v2 Arc uzantısını kullanma