Konfigurace nástroje pro vyrovnávání zatížení služby ve službě Azure Operator Nexus Kubernetes
V tomto článku se dozvíte, jak nakonfigurovat nástroj pro vyrovnávání zatížení služby v clusteru Kubernetes Nexus. Nástroj pro vyrovnávání zatížení umožňuje externím službám přístup ke službám spuštěným v clusteru. Tento průvodce se zaměřuje na aspekty konfigurace a poskytuje příklady, které vám pomůžou pochopit proces. Podle této příručky můžete efektivně nakonfigurovat nástroje pro vyrovnávání zatížení služeb v clusteru Nexus Kubernetes.
Požadavky
Než budete pokračovat v tomto průvodci postupy, doporučujeme:
- Podrobný přehled a postup najdete v příručce Rychlý start ke clusteru Nexus Kubernetes.
- Ujistěte se, že splňujete uvedené požadavky, abyste zajistili hladký průběh implementace průvodce.
- Znalost konceptů Kubernetes, včetně nasazení a služeb
- Obraťte se na správce sítě a získejte rozsah IP adres, který se dá použít pro fond IP adres nástroje pro vyrovnávání zatížení.
Omezení
- Konfigurace fondu IP adres je neměnná: Po nastavení se nedá upravit v clusteru Nexus Kubernetes.
- Názvy fondů IP adres musí začínat malým písmenem nebo číslicí a končit malým písmenem nebo číslicí.
- Názvy fondů IP adres by neměly překročit 63 znaků, aby se zabránilo potenciálním problémům nebo omezením.
- Fondy IP adres by se neměly překrývat s existujícími předponami CIDR podu, CIDR služby nebo CNI, aby se zabránilo konfliktům a problémům se sítí v clusteru.
Důležité
Tyto pokyny slouží k vytvoření nového clusteru Nexus Kubernetes. Nepoužívejte šablonu Bicep u existujícího clusteru, protože konfigurace fondu IP adres je neměnná. Jakmile se cluster vytvoří s konfigurací fondu IP adres, nedá se změnit.
Možnosti konfigurace
Před konfigurací fondu IP adres pro nástroj pro vyrovnávání zatížení služby je důležité porozumět různým dostupným možnostem konfigurace. Tyto možnosti umožňují definovat chování a parametry fondu IP adres podle vašich konkrétních požadavků.
Pojďme se podívat na možnosti konfigurace fondu IP adres.
Povinné parametry
Konfigurace fondu IP adres vyžaduje přítomnost dvou polí: addresses
a name
. Tato pole jsou nezbytná pro definování rozsahu IP adres a identifikaci fondu.
- Pole
addresses
určuje seznam rozsahů IP adres, které je možné použít k přidělování v rámci fondu. Každou oblast můžete definovat jako podsíť ve formátu CIDR. Nepoužívejte jednu IP adresu, například /32 pro protokolY IPv4 a /128 pro protokol IPv6. - Pole
name
slouží jako jedinečný identifikátor fondu IP adres. Pomáhá přidružit fond k inzerování protokolu BGP (Border Gateway Protocol), což umožňuje efektivní komunikaci v rámci clusteru.
Poznámka:
Pokud chcete službě Kubernetes povolit, aby měla adresu se dvěma zásobníky LoadBalancer
, ujistěte se, že konfigurace fondu IP adres zahrnuje protokol CIDR IPv4 i IPv6.
Volitelné parametry
Kromě požadovaných polí jsou k dispozici také volitelná pole pro další přizpůsobení konfigurace fondu IP adres.
- Pole
autoAssign
určuje, jestli se IP adresy automaticky přiřazují z fondu. Toto pole jestring
typ s výchozí hodnotouTrue
. Můžete ho nastavit na buďTrue
neboFalse
na základě vašich preferencí. - Pole
onlyUseHostIps
řídí použití IP adres končících.0
a.255
v rámci fondu. Povolením této možnosti omezíte využití na IP adresy mezi.1
.254
a (včetně) s výjimkou rezervovaných síťových a všesměrových adres.
Parametry šablony Bicep pro konfiguraci fondu IP adres
Následující fragment kódu JSON ukazuje parametry potřebné ke konfiguraci fondu IP adres v šabloně Bicep.
"ipAddressPools": {
"value": [
{
"addresses": ["<IP>/<CIDR>"],
"name": "<pool-name>",
"autoAssign": "True", /* "True"/"False" */
"onlyUseHostIps": "True" /* "True"/"False" */
}
]
}
Pokud chcete do clusteru přidat konfiguraci fondu IP adres, musíte aktualizovat kubernetes-deploy-parameters.json
soubor, který jste vytvořili během rychlého startu. Do tohoto souboru zahrňte konfiguraci fondu IP adres podle vašich požadovaných nastavení.
Po přidání konfigurace fondu IP adres do souboru parametrů můžete pokračovat v nasazení šablony Bicep. Tato akce nastaví nový cluster se zadanou konfigurací fondu IP adres, což vám umožní využít fond IP adres podle očekávání.
Podle těchto pokynů můžete vytvořit nový cluster Nexus Kubernetes s požadovanou konfigurací fondu IP adres a využít fond IP adres pro služby clusteru.
Příklady parametrů
Tento soubor parametrů je určený k použití se šablonou Bicep pro rychlý start pro vytvoření clusteru s povoleným nástrojem pro vyrovnávání zatížení protokolu BGP. Obsahuje potřebná nastavení konfigurace pro nastavení clusteru s funkcí nástroje pro vyrovnávání zatížení protokolu BGP. Pomocí tohoto souboru parametrů se šablonou Bicep můžete vytvořit cluster s požadovanými možnostmi nástroje pro vyrovnávání zatížení protokolu BGP.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"kubernetesClusterName":{
"value": "lb-test-cluster"
},
"adminGroupObjectIds": {
"value": [
"00000000-0000-0000-0000-000000000000"
]
},
"cniNetworkId": {
"value": "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
},
"cloudServicesNetworkId": {
"value": "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
},
"extendedLocation": {
"value": "/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
},
"location": {
"value": "eastus"
},
"sshPublicKeys": {
"value": [
{
"keyData": "ssh-rsa AAAAB..."
},
{
"keyData": "ssh-rsa AAAAC..."
}
]
},
"ipAddressPools": {
"value": [
{
"addresses": ["<IP>/<CIDR>"],
"name": "<pool-name>",
"autoAssign": "True",
"onlyUseHostIps": "True"
}
]
}
}
}
Poznámka:
Pokud máte v úmyslu vytvořit službu DualStack, ujistěte se, že fond adres obsahuje CIDR IPv4 i CIDR IPv6. To umožňuje souběžnou podporu adres IPv4 i IPv6 v konfiguraci nástroje pro vyrovnávání zatížení.
Příklad: Přidělení statických IP adres pro službu
Pokud chcete přidělit statickou IP adresu pro službu, můžete použít následující příkazy.
Vytvoření nasazení
kubectl create deployment nginx --image=nginx --port 80
Přidělování statických IP adres (LoadBalancerIP)
kubectl expose deployment nginx \
--name nginx-loadbalancer-pool1-static \
--type LoadBalancer \
--load-balancer-ip <IP from pool-1>
Nahraďte <IP from pool-1>
požadovanou IP adresu z fondu IP adres.
Přidělování statických IP adres (ExternalIP)
kubectl expose deployment nginx \
--name nginx-clusterip-pool1-static \
--type ClusterIP \
--external-ip <IP from pool-1>
Nahraďte <IP from pool-1>
požadovanou IP adresu z fondu IP adres.
Příklad: Přidělování IP adres pro službu z konkrétního fondu IP adres
Pokud chcete přidělit IP adresu pro službu z konkrétního fondu IP adres, můžete použít následující příkaz.
kubectl expose deployment nginx \
--name nginx-loadbalancer-pool2-auto \
--type LoadBalancer \
--overrides '{"metadata":{"annotations":{"metallb.universe.tf/address-pool":"pool-2"}}}'
Tento příkaz přiřadí službě IP adresu z fondu pool-2
IP adres . Podle potřeby upravte název fondu. Než si tyto příklady vyzkoušíte, ujistěte se, že jste už vytvořili cluster Nexus Kubernetes se dvěma různými fondy IP adres. Pokud jste to neudělali, postupujte podle kroků nezbytných k vytvoření clusteru a odpovídajícím způsobem nakonfigurujte fondy IP adres.
Poznámka:
V názvu fondu IP adres se rozlišují malá a velká písmena. Při zadávání názvu fondu nezapomeňte použít správný případ.
Další kroky
Můžete zkusit nasadit síťovou funkci (NF) v clusteru Nexus Kubernetes s využitím nově nakonfigurovaného nástroje pro vyrovnávání zatížení. Tato konfigurace umožňuje otestovat možnosti vyrovnávání zatížení a sledovat, jak se provoz distribuuje mezi instancemi NF.