Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A standard nyilvános terheléselosztó különböző beállításait testre szabhatja a fürt létrehozásakor vagy a fürt frissítésével. Ezek a testreszabási lehetőségek lehetővé teszik a számítási feladatok igényeinek megfelelő terheléselosztó létrehozását. A standard terheléselosztóval a következőt teheti:
- Módosítsa a bejövő készlet típusát.
- A felügyelt kimenő IP-címek számának beállítása vagy méretezése.
- Adjon meg saját egyéni kimenő IP-címeket vagy kimenő IP-előtagot.
- Testre szabhatja a kiosztott kimenő portok számát a fürt minden csomópontján.
- Konfigurálja a tétlen kapcsolatok időtúllépési beállítását.
Fontos
Csak egy kimenő IP-címet használhat (felügyelt IP-címeket, saját IP-címet vagy IP-előtagot) egy adott időpontban.
Mielőtt hozzákezdene
- Kövesse az Azure Kubernetes Service (AKS) nyilvános standard terheléselosztójának használata című rész lépéseit, hogy hozzon létre és telepítsen terheléselosztó szolgáltatást az AKS-ben.
A bejövő készlet típusának módosítása
A terheléselosztó háttérkészleteiben található AKS-csomópontokra hivatkozhat az IP-konfigurációjuk (Azure Virtual Machine Scale Sets tagságuk) vagy csak az IP-címük alapján. Az IP-címalapú háttérkészlet-tagság nagyobb hatékonyságot biztosít a szolgáltatások frissítésekor és a terheléselosztók kiépítésekor, különösen magas csomópontszám esetén. A NAT-átjáróval vagy a felhasználó által definiált útválasztási kimenő forgalomtípusokkal kombinálva az új csomópontok és szolgáltatások kiépítése nagyobb teljesítményű.
Két medencetagsági típus érhető el.
-
nodeIPConfiguration: Legacy Virtual Machine Scale Sets IP-konfiguráció alapú készlettagság típusa. -
nodeIP: IP-alapú tagság típusa.
A bejövő készlet típusának módosítására vonatkozó követelmények
A bejövő készlet típusának módosítása előtt győződjön meg arról, hogy megfelel a következő követelményeknek:
- Az AKS-klaszternek 1.23-as vagy újabb verziónak kell lennie.
- Az AKS-fürtnek szabványos terheléselosztókat és Virtual Machine Scale Sets-et kell használnia.
- Új AKS-fürt létrehozása IP-alapú bejövő készlet tagsággal
- Meglévő AKS-fürt frissítése IP-alapú bejövő készlettagság használatára
Hozzon létre egy AKS-fürtöt, amely IP-alapú bejövő készlettagsággal rendelkezik, a
az aks createparancs és a--load-balancer-backend-pool-type=nodeIPparaméter használatával.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --load-balancer-backend-pool-type=nodeIP \ --generate-ssh-keys
Felügyelt kimenő nyilvános IP-címek számának skálázása
Azure Load Balancer kimenő és bejövő kapcsolatot biztosít egy virtuális hálózatról. A kimenő szabályok megkönnyítik a hálózati címfordítás konfigurálását a standard nyilvános terheléselosztóra.
A kimenő szabályok ugyanazt a szintaxist követik, mint a terheléselosztás és a bejövő NAT-szabályok: előtérbeli IP-címek + paraméterek + háttérkészlet
A kimenő szabály konfigurálja a kimenő NAT-hez a háttérkészlet által azonosított összes virtuális gépet, hogy az előtérhez irányítva legyenek. A paraméterek nagyobb ellenőrzést biztosítanak a kimenő NAT-algoritmus felett.
Bár egy kimenő szabályt egyetlen nyilvános IP-címmel is használhat, a kimenő szabályok kiválóan használhatók a kimenő NAT skálázására, mivel megkönnyítik a konfigurációs terheket. Több IP-címmel tervezhet nagy léptékű forgatókönyveket és kimenő szabályokat az SNAT-kimerülési minták mérsékléséhez. Minden előtér által megadott IP-cím 64 000 rövid élettartamú portot biztosít a terheléselosztó számára, hogy SNAT-portként használhassa.
Ha standard termékváltozatú terheléselosztót használ felügyelt kimenő nyilvános IP-címekkel (amelyek alapértelmezés szerint vannak létrehozva), a paraméterrel --load-balancer-managed-outbound-ip-count skálázhatja a felügyelt kimenő nyilvános IP-címek számát.
Fontos
Nem javasoljuk, hogy a Azure portál használatával végezze el a kimenő szabálymódosításokat. A módosítások végrehajtásakor az AKS-fürtön kell végighaladnia, és nem közvetlenül a Load Balancer erőforráson.
A közvetlenül a Load Balancer erőforráson végrehajtott kimenő szabálymódosítások a fürt újraszinkronizálásakor, például leállítása, indítása, frissítése vagy skálázásakor törlődnek.
Használja a Azure CLI a példákban látható módon. A az aks CLI-parancsokkal végrehajtott kimenő szabálymódosítások a fürt leállási időszakaiban is állandóak.
További információ: Azure Load Balancer kimenő szabályok.
Felügyelt kimenő nyilvános IP-címek számának beállítása
- Hozzon létre egy új fürtöt megadott számú felügyelt nyilvános kimenő IP-címmel
- Frissítse a meglévő fürtöt az irányított kimenő nyilvános IP-címek számának növeléséhez vagy csökkentéséhez
Hozzon létre egy új AKS-fürtöt a
az aks createparancs--load-balancer-managed-outbound-ip-countparaméterével, adott számú kimenő felügyelt nyilvános IP-cím használatával. Az alábbi példa a felügyelt kimenő nyilvános IP-címek számát kettőre állítja.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --load-balancer-managed-outbound-ip-count 2 \ --generate-ssh-keys
Saját kimenő nyilvános IP-címek vagy előtagok megadása
Standard termékváltozatú terheléselosztó használatakor az AKS-fürt automatikusan létrehoz egy nyilvános IP-címet az AKS által felügyelt infrastruktúra erőforráscsoportjában, majd alapértelmezés szerint hozzárendeli azt a terheléselosztó kimenő készletéhez.
Az AKS által létrehozott nyilvános IP-cím egy AKS által felügyelt erőforrás, ami azt jelenti, hogy az AKS felügyeli a nyilvános IP-cím életciklusát, és nem igényel felhasználói műveletet közvetlenül a nyilvános IP-erőforráson. Másik lehetőségként hozzárendelheti saját egyéni nyilvános IP-címét vagy nyilvános IP-előtagját a fürt létrehozásakor. Az egyéni IP-címek egy meglévő fürt terheléselosztó tulajdonságain is frissíthetők.
A saját kimenő nyilvános IP-címek vagy előtagok használatára vonatkozó követelmények
Mielőtt saját kimenő nyilvános IP-címeket vagy előtagokat ad meg, győződjön meg arról, hogy megfelel a következő követelményeknek:
- Egyéni nyilvános IP-címeket kell létrehoznia és saját tulajdonúnak kell lennie. Nem használhatja újra az AKS által létrehozott felügyelt nyilvános IP-címeket "saját egyéni IP-cím"-ként, mert ez felügyeleti ütközéseket okozhat.
- Győződjön meg arról, hogy az AKS-fürt identitása rendelkezik engedélyekkel a kimenő IP-címhez való hozzáféréshez a szükséges nyilvános IP-engedélyek listájának megfelelően.
- Győződjön meg arról, hogy megfelel a kimenő IP-címek vagy kimenő IP-előtagok konfigurálásához szükséges előfeltételeknek és korlátozásoknak.
Saját kimenő nyilvános IP-címek megadása
- Saját kimenő nyilvános IP-címek megadása új fürt létrehozásakor
- Meglévő fürt frissítése saját kimenő nyilvános IP-címek használatára
Hozzon létre egy új AKS-fürtöt saját kimenő nyilvános IP-címeivel a
az aks createparancs és a--load-balancer-outbound-ipsparaméter segítségével. Győződjön meg arról, hogy a helyőrző értékeket a sajátjára cseréli.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --load-balancer-outbound-ips $PUBLIC_IP_ID1,$PUBLIC_IP_ID2 \ --generate-ssh-keys
Saját kimenő nyilvános IP-előtagok megadása
- Adja meg saját kimenő nyilvános IP-előtagjait új klaszter létrehozásakor
- A meglévő fürt frissítése saját kimenő nyilvános IP-előtagok használatához
Hozzon létre egy új AKS-fürtöt megadott kimenő nyilvános IP-előtagokkal, a
az aks createparanccsal és a--load-balancer-outbound-ip-prefixesparaméterrel. Győződjön meg arról, hogy a helyőrző értékeket a sajátjára cseréli.az aks create \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --load-balancer-outbound-ip-prefixes $PUBLIC_IP_PREFIX_ID1,$PUBLIC_IP_PREFIX_ID2 \ --generate-ssh-keys
A lefoglalt kimenő portok konfigurálása
Fontos
Ha olyan alkalmazásokkal rendelkezik a fürtön, amelyek nagy számú kapcsolatot létesíthetnek a nyilvános IP-címeken található kis célkészletekkel, például egy adatbázishoz csatlakozó előtéralkalmazás számos példányával, előfordulhat, hogy az SNAT-portok kimerültek. Az SNAT-portok kimerülése akkor fordul elő, ha egy alkalmazás kifogy a kimenő portokból, hogy kapcsolatot létesítsen egy másik alkalmazással vagy hosttal. Ha sNAT-portkimerülésre hajlamos forgatókönyve van, javasoljuk, hogy növelje a kiosztott kimenő portokat és a kimenő előtérbeli IP-címeket a terheléselosztón.
Az SNAT-ről további információt az SNAT használata kimenő kapcsolatokhoz című témakörben talál.
Az AKS alapértelmezés szerint az AllocatedOutboundPorts beállítás értékét a terheléselosztón, amely lehetővé teszi az automatikus kimenő portok hozzárendelését a háttér-medence mérete alapján0 a fürt létrehozásakor. Ha például egy fürtnek 50 vagy kevesebb csomópontja van, minden csomóponthoz 1024 port van lefoglalva. Ez az érték lehetővé teszi a fürt maximális csomópontszámára való skálázást a hálózat újrakonfigurálása nélkül, de az SNAT-portok kimerülését gyakoribbá teheti a további csomópontok hozzáadásakor. Ahogy nő a csomópontok száma a fürtben, csomópontonként kevesebb port érhető el. A csomópontok számának növelése a diagram határain keresztül (például 50-ről 51 csomópontra vagy 100-ról 101-re) zavaró lehet a kapcsolat szempontjából, mivel a meglévő csomópontokhoz lefoglalt SNAT-portok száma csökken, hogy több csomópontot lehessen használni. Azt javasoljuk, hogy explicit értéket használjunk a AllocatedOutboundPortshoz.
Az aktuális lefoglalt kimenő portok megtekintése
Szerezze meg az AKS-fürt terheléselosztójának AllocatedOutboundPorts értékét a
az network lb outbound-rule listparanccsal.NODE_RG=$(az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query nodeResourceGroup -o tsv) az network lb outbound-rule list --resource-group $NODE_RG --lb-name kubernetes -o tableAz alábbi példakimenet azt mutatja, hogy a fürtön engedélyezve van a háttértár-pool méretén alapuló automatikus kimenő port-hozzárendelés.
AllocatedOutboundPorts EnableTcpReset IdleTimeoutInMinutes Name Protocol ProvisioningState ResourceGroup ------------------------ ---------------- ---------------------- --------------- ---------- ------------------- ------------- 0 True 30 aksOutboundRule All Succeeded MC_myResourceGroup_myAKSCluster_eastus
Kimenő portok és IP-címek kiszámítása és ellenőrzése szükséges
Egy adott érték beállítása vagy a kimenő portok vagy kimenő IP-címek meglévő értékének növelése előtt ki kell számítania a kimenő portok és IP-címek megfelelő számát. Ehhez a számításhoz használja a következő egyenletet a legközelebbi egész számra kerekítve: 64,000 ports per IP / <outbound ports per node> * <number of outbound IPs> = <maximum number of nodes in the cluster>.
A kimenő portok és IP-címek kiszámításának szempontjai
A kimenő portok és IP-címek számának kiszámításakor és az értékek beállításakor tartsa szem előtt a következő információkat:
- A csomópontonkénti kimenő portok száma a beállított érték alapján van rögzítve.
- A kimenő portok értékének 8 többszörösének kell lennie.
- További IP-címek hozzáadása nem növeli egyetlen csomópont portszámát sem, de nagyobb kapacitást biztosít több csomópont számára a fürtben.
- Figyelembe kell vennie a frissítések részeként hozzáadható csomópontokat, beleértve a
maxCountésmaxSurgeértékekkel megadott csomópontok számát.
Példák a kimenő portok és IP-címek kiszámítására
Az alábbi példák bemutatják, hogy a megadott értékek hogyan befolyásolják a kimenő portok és IP-címek számát:
- Ha az alapértelmezett értékeket használja, és a fürt 48 csomópontot tartalmaz, minden csomóponthoz 1024 port érhető el.
- Ha az alapértelmezett értékeket használja, és a fürt 48 és 52 csomópont között skálázódik, minden csomópont frissül 1024 portról 512 elérhető portra.
- Ha a kimenő portok száma 1000, a kimenő IP-címek száma pedig 2, akkor a fürt legfeljebb 128 csomópontot támogathat:
64,000 ports per IP / 1,000 ports per node * 2 IPs = 128 nodes. - Ha a kimenő portok száma 1000, a kimenő IP-címek száma pedig 7, akkor a fürt legfeljebb 448 csomópontot támogathat:
64,000 ports per IP / 1,000 ports per node * 7 IPs = 448 nodes. - Ha a kimenő portok száma 4000, a kimenő IP-címek száma pedig 2, akkor a fürt legfeljebb 32 csomópontot támogathat:
64,000 ports per IP / 4,000 ports per node * 2 IPs = 32 nodes. - Ha a kimenő portok száma 4000, a kimenő IP-címek száma pedig 7, akkor a fürt legfeljebb 112 csomópontot támogathat:
64,000 ports per IP / 4,000 ports per node * 7 IPs = 112 nodes.
Fontos
A kimenő portok és IP-címek számának kiszámítása után ellenőrizze, hogy rendelkezik-e extra kimenő portkapacitással a csomópontok frissítés közbeni túlfeszültségének kezeléséhez. A frissítéshez és más műveletekhez szükséges további csomópontokhoz kritikus fontosságú a megfelelő többletportok lefoglalása. Az AKS alapértelmezés szerint egy puffercsomópontra vált a frissítési műveletekhez. Ha értékeket használmaxSurge, szorozza meg a csomópontonkénti kimenő portok számát az maxSurge értékével, hogy meghatározza a szükséges portok mennyiségét. Ha például úgy számítja, hogy csomópontonként 4000 portra van szüksége, amelyhez 7 IP-cím tartozik egy legfeljebb 100 csomópontos fürtön, és legfeljebb 2-es maximális növekedést kalkulál:
- 2 túlfeszültség-csomópont * csomópontonként 4000 port = 8000 port szükséges a csomópontok frissítés közbeni túlfeszültségéhez.
- 100 csomópont * 4000 port/csomópont = 400 000 port szükséges a fürthöz.
- 7 IP-cím * IP-címenként 64000 port = 448 000 port érhető el a fürt számára.
Ez a példa azt mutatja, hogy a fürt 48 000 portnyi többletkapacitással rendelkezik, ami elegendő a frissítések során fellépő csomópont-túlfeszültséghez szükséges 8000 port kezeléséhez.
A lefoglalt kimenő portok és kimenő IP-címek beállítása
Az értékek kiszámítása és ellenőrzése után alkalmazhatja ezeket az értékeket load-balancer-outbound-portsload-balancer-managed-outbound-ip-countload-balancer-outbound-ipsload-balancer-outbound-ip-prefixes a fürtök létrehozásakor vagy frissítésekor.
- Új fürt létrehozása specifikus kimenő portokkal és IP-címekkel
- Meglévő klaszter frissítése adott kimenő portokkal és IP-címekkel
Hozzon létre egy új AKS-fürtöt adott kimenő portokkal és IP-címekkel a
az aks createparancs használatával. Az alábbi példa a--load-balancer-managed-outbound-ip-countparamétert 7-re , a paramétert--load-balancer-outbound-portspedig 4000-re állítja:az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --load-balancer-managed-outbound-ip-count 7 \ --load-balancer-outbound-ports 4000 \ --generate-ssh-keys
A terheléselosztó tétlen időtúllépésének konfigurálása
Ha az SNAT-port erőforrásai kimerültek, a kimenő folyamatok mindaddig sikertelenek lesznek, amíg a meglévő folyamatok nem oldják fel az SNAT-portokat. A terheléselosztó a folyamat bezárásakor visszanyeri az SNAT-portokat, az AKS által konfigurált terheléselosztó pedig 30 perces tétlenségi időtúllépést használ az SNAT-portok inaktív folyamatokból való kivonásához. A szállítást (például TCP keepalives vagy application-layer keepalives) is használhatja az üresjárati folyamat frissítésére, és szükség esetén alaphelyzetbe állíthatja ezt az üresjárati időtúllépést.
Ha arra számít, hogy számos rövid élettartamú kapcsolattal rendelkezik, és nincs olyan hosszú élettartamú kapcsolata, amely hosszú ideig tétlen lehet, például mint a kubectl proxy vagy kubectl port-forward esetében, fontolja meg egy alacsony időtúllépési érték, például 4 perc használatát. TCP keepalive használata esetén elegendő engedélyezni a kapcsolat egyik oldalán. Elegendő például csak a kiszolgálóoldalon engedélyezni őket a folyamat tétlen időzítőjének alaphelyzetbe állításához. Nem szükséges, hogy mindkét fél elindítsa a TCP-életben tartást. Hasonló fogalmak léteznek az alkalmazásréteghez, beleértve az adatbázis ügyfél-kiszolgáló konfigurációit is. Ellenőrizze a kiszolgálóoldalon, hogy milyen lehetőségek állnak rendelkezésre az alkalmazásspecifikus megőrzési lehetőségekhez.
Fontos
Az AKS alapértelmezés szerint engedélyezi a TCP-alaphelyzetbe állítást tétlen állapotban. Javasoljuk, hogy tartsa meg ezt a konfigurációt, és használja ki az alkalmazás kiszámíthatóbb viselkedése érdekében a forgatókönyvekben. További információ: Azure terheléselosztó TCP-alaphelyzetbe állítása.
Ha az IdleTimeoutInMinutes értéket az alapértelmezett 30 percnél eltérő értékre állítja be, fontolja meg, hogy mennyi ideig kell a számítási feladatoknak kimenő kapcsolatra szükségük. Azt is vegye figyelembe, hogy az AKS-en kívül használt standard termékváltozatú terheléselosztó alapértelmezett időtúllépési értéke 4 perc. Az IdleTimeoutInMinutes érték, amely pontosabban tükrözi az adott AKS-számítási feladatot, csökkentheti az SNAT-kimerültséget, amelyet a már nem használt kapcsolatok összekapcsolása okoz.
Figyelmeztetés
A AllocatedOutboundPorts és az IdleTimeoutInMinutes értékeinek módosítása jelentősen megváltoztathatja a terheléselosztó kimenő szabályának viselkedését, ezért nem szabad könnyedén elvégezni. Tekintse át a Troubleshoot SNAT részt, és vizsgálja meg a Terheléselosztó kimenő szabályait, valamint az Azure-ban lévő kimenő kapcsolatokat, mielőtt frissítené ezeket az értékeket, hogy teljes mértékben megértse a módosítások hatását.
- Hozzon létre egy új fürtöt adott tétlenségi időtúllépéssel
- Egy meglévő fürt időkorlátjának frissítése egy meghatározott üresjárati idővel
Hozzon létre egy új AKS-fürtöt egy adott tétlenségi időtúllépéssel a
az aks createparancs használatával, a--load-balancer-idle-timeoutparaméterrel. Az alábbi példa az üresjárati időtúllépést 4 percre állítja be:az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --load-balancer-idle-timeout 4 \ --generate-ssh-keys
Adott IP-tartományok bejövő forgalmának korlátozása
Az alábbi jegyzék egy új IP-tartomány megadását használja loadBalancerSourceRanges a bejövő külső forgalomhoz:
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front
loadBalancerSourceRanges:
- MY_EXTERNAL_IP_RANGE
Ez a példa frissíti a szabályt, hogy csak a tartományból engedélyezze a MY_EXTERNAL_IP_RANGE bejövő külső forgalmat. Ha a belső alhálózat IP-címére cseréli MY_EXTERNAL_IP_RANGE, a forgalom csak a fürt belső IP-címeire korlátozódik. Ha a forgalom a fürt belső IP-címeire korlátozódik, a Kubernetes-fürtön kívüli ügyfelek nem tudják elérni a terhelés-kiegyenlítőt.
Megjegyzés:
A bejövő forgalom korlátozásakor tartsa szem előtt az alábbi információkat:
- Ha a CIDR-blokkokat és Azure szolgáltatáscímkéket is engedélyeznie kell, távolítsa el a
loadBalancerSourceRangestulajdonságot, és adja hozzá aservice.beta.kubernetes.io/azure-allowed-ip-rangesés/vagyservice.beta.kubernetes.io/azure-allowed-service-tagsLoad Balancer széljegyzeteket. Ez a konfiguráció csak az NSG-rétegen alkalmazza a szűrést, és kihagyja a hosztszintű kube-proxy szabályokat. Ha aloadBalancerSourceRangestulajdonságot aazure-allowed-service-tagsannotációval együtt állítja be, az AKS hibát jelez a specifikáció alkalmazásakor. - A bejövő forgalom a terheléselosztóról a virtuális hálózatra áramlik az AKS-fürthöz. A virtuális hálózat rendelkezik egy hálózati biztonsági csoporttal (NSG), amely lehetővé teszi a terheléselosztóból érkező összes bejövő forgalmat. Ez az NSG egy LoadBalancer típusú szolgáltatáscímkét használ a terheléselosztóból érkező forgalom engedélyezéséhez.
- A Pod CIDR-t hozzá kell adni a
loadBalancerSourceRanges, ha vannak olyan Podok, amelyeknek hozzá kell férniük a szolgáltatás Betöltéselosztó IP-címéhez, 1.25-ös vagy újabb Kubernetes-verziójú fürtök esetén.
Az ügyfél IP-címének karbantartása bejövő kapcsolatokon
Alapértelmezés szerint a Kubernetesben és az AKS-ben egy típusú LoadBalancerszolgáltatás nem megőrzi az ügyfél IP-címét a podhoz való kapcsolaton. A podnak kézbesített csomag forrás IP-címe a csomópont privát IP-címe lesz. Az ügyfél IP-címének fenntartásához be kell állítania a service.spec.externalTrafficPolicy értékét local-re a szolgáltatásdefinícióban. Az alábbi jegyzék egy példát mutat be:
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
externalTrafficPolicy: Local
ports:
- port: 80
selector:
app: azure-vote-front
Testreszabások Kubernetes-széljegyzetekkel
Az alábbi széljegyzetek a típussal LoadBalancerrendelkező Kubernetes-szolgáltatások esetében támogatottak, és csak a bejövő folyamatokra vonatkoznak.
| Jegyzetelés | Érték | Description |
|---|---|---|
service.beta.kubernetes.io/azure-load-balancer-internal |
true vagy false |
Adja meg, hogy a terheléselosztó belső legyen-e. Ha nincs beállítva, az alapértelmezés szerint nyilvános lesz. |
service.beta.kubernetes.io/azure-load-balancer-internal-subnet |
Az alhálózat neve | Adja meg, hogy a belső terheléselosztó melyik alhálózathoz legyen kötve. Ha nincs beállítva, alapértelmezés szerint a felhőkonfigurációs fájlban konfigurált alhálózat lesz. |
service.beta.kubernetes.io/azure-dns-label-name |
A DNS-címke neve nyilvános IP-címeken | Adja meg a nyilvános szolgáltatás DNS-címkéjének nevét. Ha üres sztringre van állítva, a rendszer nem használja a nyilvános IP-cím DNS-bejegyzését. |
service.beta.kubernetes.io/azure-load-balancer-resource-group |
Az erőforráscsoport neve | Adja meg a terheléselosztó nyilvános IP-címeinek erőforráscsoportját, amelyek nem ugyanabban az erőforráscsoportban szerepelnek, mint a fürtinfrastruktúra (csomóponterőforrás-csoport). |
service.beta.kubernetes.io/azure-allowed-service-tags |
Engedélyezett szolgáltatáscímkék listája | Adja meg az engedélyezett szolgáltatáscímkék vesszővel elválasztott listáját. |
service.beta.kubernetes.io/azure-allowed-ip-ranges |
az engedélyezett IP-tartományok listája | Adja meg az engedélyezett IP-tartományok vesszővel elválasztott listáját. |
service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout |
TCP tétlenségi időtúllépések a percekben | Adja meg a TCP-kapcsolat tétlen időtúllépés percekben meghatározott idejét a terheléselosztón. Az alapértelmezett és minimális érték 4. A maximális érték 30. Az értéknek egész számnak kell lennie. |
service.beta.kubernetes.io/azure-load-balancer-disable-tcp-reset |
true vagy false |
Adja meg, hogy a terheléselosztó letiltsa-e a TCP-alaphelyzetbe állítást tétlen időtúllépéskor. |
service.beta.kubernetes.io/azure-load-balancer-ipv4 |
IPv4-cím | Adja meg a terheléselosztóhoz rendelendő IPv4-címet. |
service.beta.kubernetes.io/azure-load-balancer-ipv6 |
IPv6-cím | Adja meg a terheléselosztóhoz rendelendő IPv6-címet. |
Engedélyezett IP-tartományok testreszabása (előzetes verzió)
A azure-allowed-service-tags és a azure-allowed-ip-ranges széljegyzetek használatával kombinálhatja a CIDR-blokkokat és Azure szolgáltatáscímkéket a terheléselosztón. Adjon hozzá service.beta.kubernetes.io/azure-allowed-ip-ranges az IP-előtagok vesszővel tagolt listájával, és adjon hozzá service.beta.kubernetes.io/azure-allowed-service-tags egy vagy több Azure szolgáltatáscímkével. Az AKS felhőszolgáltatója mindkét értéket egyetlen NSG-szabályba egyesíti, így a forgalom központilag lesz szűrve az NSG-n, így egyetlen, NSG-központú vezérlősíkot biztosít az IP-címekhez és a szolgáltatáscímkékhez.
Továbbra is használhatja a loadBalancerSourceRanges tulajdonságot olyan esetekben, amikor a CIDR-alapú korlátozásokat az NSG-ben és a gazdagépen is érvényesíteni szeretné. Ezt a tulajdonságot nem használhatja a azure-allowed-service-tags széljegyzetekkel. Ha mindkettő meg van adva, az AKS hibát jelez a terheléselosztó szolgáltatás specifikációjának alkalmazásakor.
A terheléselosztó állapotmintájának testreszabása
A terheléselosztó állapotadat-mintavételi viselkedésének testreszabásához a következő széljegyzetek támogatottak:
| Jegyzetelés | Érték | Description |
|---|---|---|
service.beta.kubernetes.io/azure-load-balancer-health-probe-interval |
Állapotadat-mintavétel időköze | |
service.beta.kubernetes.io/azure-load-balancer-health-probe-num-of-probe |
Az állapotadat-mintavétel nem megfelelő válaszainak minimális száma | |
service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path |
Az állapotadat-mintavétel elérési útjának kérése | |
service.beta.kubernetes.io/port_{port}_no_lb_rule |
true/false | A(z) {port} a szolgáltatás portszáma. Ha be van trueállítva, a rendszer nem hoz létre terheléselosztót vagy állapotadat-mintavételi szabályokat ehhez a porthoz. Az állapot-ellenőrzési szolgáltatást nem szabad nyilvános interneten keresztül elérhetővé tenni. |
service.beta.kubernetes.io/port_{port}_no_probe_rule |
true/false | A(z) {port} a szolgáltatás portszáma. Ha be van trueállítva, a rendszer nem hoz létre állapotadat-mintavételi szabályokat ehhez a porthoz. |
service.beta.kubernetes.io/port_{port}_health-probe_protocol |
Állapotadat-mintavételi protokoll | A(z) {port} a szolgáltatás portszáma. Explicit protokoll a(z) {port} szolgáltatási port állapot-ellenőrzéséhez, amely felülírja a port.appProtocol beállítását, ha meg van adva. |
service.beta.kubernetes.io/port_{port}_health-probe_port |
portszám vagy portnév a szolgáltatásjegyzékben | A(z) {port} a szolgáltatás portszáma. A(z) {port} szolgáltatásport explicit portjának állapotfelmérési célra történő beállítása, felülírva az alapértelmezett értéket. |
service.beta.kubernetes.io/port_{port}_health-probe_interval |
Állapotadat-mintavétel időköze | A(z) {port} a szolgáltatás portszáma. |
service.beta.kubernetes.io/port_{port}_health-probe_num-of-probe |
Az állapotadat-mintavétel nem megfelelő válaszainak minimális száma | A(z) {port} a szolgáltatás portszáma. |
service.beta.kubernetes.io/port_{port}_health-probe_request-path |
Az állapotadat-mintavétel elérési útjának kérése | A(z) {port} a szolgáltatás portszáma. |
Megjegyzés:
Az AKS mostantól támogatja a megosztott állapotellenőrzési próbákat a externalTrafficPolicy: Cluster szolgáltatások számára. További információ: Megosztott állapottesztek használata externalTrafficPolicy: Cluster szolgáltatásokhoz (előzetes) az Azure Kubernetes Service (AKS) rendszerben.
Az állapotminta alapértelmezett viselkedése
Az állapotadat-mintavétel alapértelmezett protokollja jelenleg különböző átviteli protokollokkal, alkalmazásprotokollokkal, széljegyzetekkel és külső forgalmi szabályzatokkal rendelkező szolgáltatások között változik.
- A helyi szolgáltatások esetében a HTTP és a /healthz lesz használva. Az állapotadat-mintavétel a
NodeHealthPortszolgáltatást fogja lekérdezni a tényleges háttérszolgáltatás helyett. - A fürt TCP-szolgáltatásai esetében a TCP lesz használva.
- Fürt UDP-szolgáltatásokhoz nincs egészségügyi ellenőrzés.
Megjegyzés:
A PLS-integrációt és a PLS proxyprotokollt engedélyező helyi szolgáltatások esetében az alapértelmezett HTTP- és /healthz-állapotadat-mintavétel nem működik. Így az állapotvizsgálat ugyanúgy testre szabható, mint a fürtszolgáltatások, hogy támogassa ezt a forgatókönyvet.
Állapotadat-mintavételi kérelem elérési útjának megjegyzése
A Kubernetes 1.20-es verziójától kezdve bevezettük a szolgáltatásjegyzetet service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path az állapotadat-mintavétel viselkedésének meghatározásához.
- Az < fürtök értéke 1.23 esetén csak akkor használja a
spec.ports.appProtocol-et mintavételi protokollként, ha aservice.beta.kubernetes.io/azure-load-balancer-health-probe-request-pathis be van állítva. - Az > 1.24-es fürtök esetében a mintavételi protokollként használják
spec.ports.appProtocol-t, és alapértelmezett kérelemútvonalként használják/-t (service.beta.kubernetes.io/azure-load-balancer-health-probe-request-pathmás kérelemútvonalra való váltásra használható).
Vegye figyelembe, hogy a kérés útvonala figyelmen kívül lesz hagyva, ha TCP-t használ, vagy ha üres a spec.ports.appProtocol. Az alábbi táblázat az állapotadat-mintavétel alapértelmezett viselkedését foglalja össze:
| Loadbalancer SKU | externalTrafficPolicy |
spec.ports.Protocol | spec.ports.AppProtocol | service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path |
LB szonda protokoll | Terheléselosztási mintavételi kérelem elérési útja |
|---|---|---|---|---|---|---|
| szabvány | helyi | any | any | any | http | /healthz |
| szabvány | fürt | udp | any | any | null | null |
| szabvány | fürt | tcp | (ignored) | tcp | null | |
| szabvány | fürt | tcp | tcp | (ignored) | tcp | null |
| szabvány | fürt | tcp | http/https | TCP(<=1.23) vagy http/https(>=1.24) | null(<=1,23) vagy /(>=1,24) |
|
| szabvány | fürt | tcp | http/https | /custom-path |
http/https | /custom-path |
| szabvány | fürt | tcp | nem támogatott protokoll | /custom-path |
tcp | null |
| alapvető | helyi | any | any | any | http | /healthz |
| alapvető | fürt | tcp | (ignored) | tcp | null | |
| alapvető | fürt | tcp | tcp | (ignored) | tcp | null |
| alapvető | fürt | tcp | http | TCP(<=1.23) vagy http/https(>=1.24) | null(<=1,23) vagy /(>=1,24) |
|
| alapvető | fürt | tcp | http | /custom-path |
http | /custom-path |
| alapvető | fürt | tcp | nem támogatott protokoll | /custom-path |
tcp | null |
Állapotadat-mintavétel időköze és a mintavételek széljegyzeteinek száma
A Kubernetes 1.21-es verziójától kezdve két szolgáltatásannotáció service.beta.kubernetes.io/azure-load-balancer-health-probe-interval és load-balancer-health-probe-num-of-probe került bevezetésre, amelyek testre szabják az állapotellenőrző szonda konfigurációját. Ha service.beta.kubernetes.io/azure-load-balancer-health-probe-interval nincs beállítva, a rendszer az alapértelmezett 5 értéket alkalmazza. Ha load-balancer-health-probe-num-of-probe nincs beállítva, a rendszer a 2 alapértelmezett értéket alkalmazza.
Egyéni Load Balancer állapotadat-mintavétel a porthoz
A szolgáltatás különböző portjai különböző állapotadat-mintavételi konfigurációkat igényelhetnek. Ennek oka lehet a szolgáltatástervezés (például egy több portot vezérlő egyetlen állapotvégpont), vagy a Kubernetes olyan funkciói, mint a MixedProtocolLBService.
Az alábbi táblázat összefoglalja azokat a portspecifikus széljegyzeteket, amelyek a szolgáltatás egy adott portjának globális állapotadat-mintavételi széljegyzeteinek felülbírálásához használhatók:
| Portspecifikus széljegyzet | Globális szonda annotáció | Magatartás |
|---|---|---|
service.beta.kubernetes.io/port_{port}_no_lb_rule |
N/A (globálisan nincs egyenértékű) | Ha be van trueállítva, a rendszer nem hoz létre terheléselosztót vagy mintavételi szabályokat. |
service.beta.kubernetes.io/port_{port}_no_probe_rule |
N/A (globálisan nincs egyenértékű) | Ha be van trueállítva, a rendszer nem hoz létre mintavételi szabályokat. |
service.beta.kubernetes.io/port_{port}_health-probe_protocol |
N/A (globálisan nincs egyenértékű) | Beállítja a szolgáltatásport állapotadat-mintavételi protokollját (például: Http, Https, Tcp). |
service.beta.kubernetes.io/port_{port}_health-probe_port |
N/A (globálisan nincs egyenértékű) | Beállítja a szolgáltatásport állapotadat-mintavételi portját (például: 15021). |
service.beta.kubernetes.io/port_{port}_health-probe_request-path |
service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path |
Http vagy Https esetén adja meg az állapotadat-mintavételi kérelem elérési útját (alapértelmezés szerint /). |
service.beta.kubernetes.io/port_{port}_health-probe_num-of-probe |
service.beta.kubernetes.io/azure-load-balancer-health-probe-num-of-probe |
Az egymást követő mintavételi hibák száma, mielőtt a port nem megfelelőnek minősül. |
service.beta.kubernetes.io/port_{port}_health-probe_interval |
service.beta.kubernetes.io/azure-load-balancer-health-probe-interval |
A mintavételi kísérletek közötti idő. |
Csomópontkészlet kizárása Load Balancer háttérkészletből
Bizonyos esetekben előfordulhat, hogy meg szeretné akadályozni, hogy egy csomópontkészlet a terheléselosztó háttérkészletének része legyen. Ehhez alkalmazza a címkét node.kubernetes.io/exclude-from-external-load-balancers=true a csomópontkészletre.
Megjegyzés:
Bár a címke az egyes csomópontokon található, a hosszú távú megőrzése érdekében a csomópontkészlet szintjén kell alkalmazni.
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODEPOOL_NAME \
--labels node.kubernetes.io/exclude-from-external-load-balancers=true
Következő lépések
A Kubernetes-szolgáltatásokkal kapcsolatos további információkért tekintse meg a Kubernetes-szolgáltatások dokumentációját.
A belső terheléselosztó bejövő forgalomhoz való használatáról további információt az AKS belső terheléselosztó dokumentációjában talál.