Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals het is' en 'voor zover beschikbaar' en zijn uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning naar best vermogen. Zodoende zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:
Tijdens upgrades van het AKS-cluster maakt het upgradeproces nodes leeg door pods uit te zetten, zodat de nodes opnieuw van een image kunnen worden voorzien of kunnen worden vervangen. Pod Disruption Budgets (PDB's) beschermen de applicatiebeschikbaarheid tijdens dit proces door te beperken hoeveel pods er tegelijkertijd niet beschikbaar mogen zijn. Onjuist geconfigureerde PDBS kunnen echter ook verwijderingen volledig blokkeren of implementaties hebben mogelijk niet voldoende replica's om aan het budget te voldoen. Deployments zonder ook maar enige PDB kampen juist met het tegenovergestelde probleem: niets beschermt hun pods ertegen dat ze gelijktijdig worden verwijderd, waardoor tijdens upgrades downtime kan ontstaan.
Automatisch PDB-beheer is een AKS-extensie, op basis van het opensource-project, waarmee PDB-beheer tijdens upgrades wordt geautomatiseerd. Het:
- Hiermee maakt u automatisch PDBs voor implementaties die er geen hebben, zodat uw workloads worden beschermd tijdens vrijwillige onderbrekingen.
- Schaalt het aantal replica’s tijdelijk op wanneer een PDB de verwijdering van pods op een afgesloten knooppunt verhindert, zodat aan het verstoringsbudget wordt voldaan en het leegmaken kan doorgaan.
- Schaalt replica’s weer terug nadat ontruimingen zijn voltooid, zodat u niet betaalt voor extra capaciteit boven op wat de upgrade vereist.
Het resultaat is dat upgrades betrouwbaar worden voltooid zonder dat u PDB-beveiligingen geforceerd moet omzeilen of in quarantaine geplaatste knooppunten handmatig hoeft op te lossen. Zie Hoe AKS-clusterupgrades werken voor achtergrondinformatie over hoe AKS knooppunten draint en hoe PDB's dat proces beïnvloeden.
Wanneer gebruikt u automatisch PDB-beheer
Overweeg automatische PDB-beheer in te schakelen wanneer:
- Implementaties hebben geen PDBs. Pods worden verwijderd zonder beschikbaarheidsgaranties tijdens upgrades, wat leidt tot potentiële downtime.
- PDBs blokkeren knooppuntafvoer. Een PDB met
minAvailablegelijk aan het aantal replica's (ofmaxUnavailable: 0) voorkomt dat een pod wordt verwijderd, waardoor de upgrade mislukt met een fout zoalsCannot evict pod as it would violate the pod's disruption budget. - Er zijn onvoldoende replica’s voor het verstoringsbudget. De PDB bestaat en is correct geconfigureerd, maar de implementatie beschikt niet over voldoende replica's om zelfs één verwijdering te absorberen.
- U ondervindt frequente storingen bij het uitvoeren van een upgrade en wilt geautomatiseerde, proactieve oplossing in plaats van handmatig opschonen.
PDB-gerelateerde mislukkingen bij het draineren identificeren
Voordat u automatisch PDB-beheer inschakelt, controleert u of uw cluster problemen ondervindt met PDB-gerelateerde afvoer:
Azure activiteitenlogboek. Open uw AKS-clusterresource in de Azure-portal en selecteer Activiteitenlogboek. Zoek naar mislukte upgradebewerkingen met status
Faileden berichten die verwijzen naar budgetten voor podonderbreking of verwijderingsfouten.Kubernetes-gebeurtenissen. Voer de volgende opdracht uit om recente verwijderings- en drain-gebeurtenissen te vinden:
kubectl get events --sort-by='.lastTimestamp' -A | grep -i "disruption\|evict\|drain"Zie Kubernetes-gebeurtenissen voor een volledige handleiding over het werken met Kubernetes-gebeurtenissen.
Hoe het zich verhoudt tot andere opties
| Approach | Gedrag | Compromis |
|---|---|---|
| Upgrade afdwingen | PDB-beveiligingen volledig omzeilen | Risico op gelijktijdig verwijderen van pods en serviceonderbreking |
| Oninbaar gedrag van knooppunten | Door cordons en quarantaines zijn knooppunten geblokkeerd; de upgrade gaat door op andere knooppunten | Vereist handmatig opschonen van in quarantaine geplaatste knooppunten na de upgrade |
| Overprovisioning | Permanent extra replica's van een deployment laten draaien (meer pods dan de workload nodig heeft), zodat een PDB altijd voldoende ruimte heeft om uitzetting toe te staan | Doorlopende kosten voor capaciteit van toepassingspods die alleen nodig zijn tijdens upgrades |
| Automatisch PDB-beheer (preview) | Hiermee maakt u PDB's voor onbeveiligde deployments en schaalt u het aantal replica's tijdelijk op om aan de PDB-vereisten te voldoen, waarna u het weer terugschakelt. | Vereist de extensie; voegt alleen tijdelijke capaciteit toe tijdens de afvoer |
Hoe werkt het?
Automatisch PDB-beheer heeft twee complementaire gedragingen: het automatisch maken van PDB (proactief) en het schalen van replica's tijdens het leegmaken (reactief).
Automatisch maken van PDB
Wanneer u automatisch maken van PDB inschakelt (controllerConfig.pdb.create=true), controleert de extensie continu op implementaties die geen PDB hebben. De extensie bepaalt een overeenkomst door de labelkiezer van de PDB te vergelijken met de podsjabloonlabels van de implementatie. Deze vergelijking zorgt ervoor dat elke implementatie slechts één keer wordt beveiligd en voorkomt dubbele PDBs. Wanneer een niet-beveiligde implementatie in een ingeschakelde naamruimte wordt gevonden, wordt er een PDB gemaakt. Voor implementaties zonder HPA of KEDA wordt minAvailable het huidige aantal replica's van de implementatie ingesteld. Voor deployments met HPA of KEDA houdt minAvailable het minimumaantal replica's van de autoscaler bij, zodat het gedrag van de PDB afgestemd blijft op de beperkingen van de autoscaler. Met de extensie worden automatisch gemaakte PDBs continu afgestemd, dus als het aantal replica's van de implementatie verandert (bijvoorbeeld via een handmatige update of een externe schaalfunctie), wordt de waarde van minAvailable de PDB bijgewerkt zodat deze overeenkomt. Deze beveiliging zorgt ervoor dat pods niet tegelijkertijd worden verwijderd tijdens vrijwillige onderbrekingen.
Automatisch gemaakte PDBS worden gedurende de gehele levenscyclus beheerd door de extensie. Zie PDB-eigenaarschap en opschoning voor meer informatie over eigenaarschap, opschoning en hoe u de handmatige controle kunt overnemen.
Note
Automatisch PDB-beheer coördineert veilig met HPA en KEDA wanneer elke deployment door slechts één autoscaler wordt beheerd. Zie Coördinatie met autoscalers (HPA en KEDA) voor meer informatie over hoe de extensie met elk daarvan samenwerkt, ook voor een niet-ondersteunde configuratie.
Replica schalen tijdens afvoer
De extensie bewaakt uw cluster voor situaties waarin met PDB beveiligde pods niet kunnen worden verwijderd tijdens het leegmaken van knooppunten. Dit gebeurt tijdens een typische upgrade:
- AKS markeert een knooppunt als niet-planbaar als onderdeel van het upgradeproces.
- De extensie detecteert het cordon en controleert of PDB-beveiligde pods op dat knooppunt nul toegestane verstoringen hebben.
-
Als de PDB uitzetting blokkeert, verhoogt de extensie tijdelijk het aantal replica's van de deployment met het aantal door de PDB beschermde pods op afgeschermde knooppunten (tot de geconfigureerde
maxSurge-limiet van de deployment), zodat de tijdelijke opschaling precies groot genoeg is en u niet te veel resources inricht. De extra replica’s zijn ingepland op andere beschikbare knooppunten. -
De toegestane onderbrekingen van de PDB stijgen boven nul, omdat het totale aantal gezonde pods nu de drempelwaarde van
minAvailablede PDB overschrijdt. - Het leegmaken van het knooppunt verloopt normaal. De evictie-API kan nu pods van het afgezette knooppunt verwijderen zonder de PDB te schenden.
- Nadat de uitzettingssignalen stoppen en het aantal toegestane verstoringen groter wordt dan nul, schaalt de extensie de deployment terug naar het oorspronkelijke aantal replica's. Omlaag schalen gaat niet verder als er nog steeds meer knooppunten zijn vastgezet of als de afvoer wordt uitgevoerd. Deze voorwaarde voorkomt onnodig verloop tijdens afvoeren met meerdere knooppunten. De uitschaalbewerking vindt automatisch plaats na een afkoelperiode (standaard 60 seconden) zonder handmatige tussenkomst nodig.
Note
Automatisch beheer van PDB's is alleen van toepassing op vrijwillige verstoringen, zoals drainbewerkingen bij upgrades en handmatige cordon-/drainbewerkingen. Het reageert niet op knooppuntfouten, crashes van pods of andere onbedoelde verstoringen.
Coördinatie met autoscalers (HPA en KEDA)
Deployments worden vaak beheerd door een autoscaler. Om racevoorwaarden te voorkomen waarbij de automatische schaalaanpassing de implementatie weer omlaag schaalt voordat verwijderingen zijn voltooid, past de extensie het minimum van de automatische schaalaanpassing aan (niet alleen het aantal replica's) en wordt de wijziging teruggezet wanneer de afvoer is voltooid.
| Configuration | Hoe de extensie toeneemt | Hoe de extensie ongedaan wordt gemaakt | Aantekeningen |
|---|---|---|---|
| Alleen implementatie | Hiermee verhoogt u de implementatie replicas rechtstreeks. |
Hiermee herstelt u het oorspronkelijke aantal replica's na de afkoeling. | Standaardgedrag wanneer er geen autoscaler is gekoppeld. |
| Implementatie + HPA | Verhoogt het minimum van de HPA minReplicas en voegt onmiddellijk een replica toe, zodat de HPA tijdens het drainen niet terugschaalt en niet op de metriekcyclus hoeft te wachten. |
Herstelt de oorspronkelijke minReplicas; de HPA zorgt vanzelf voor terugschalen. |
Veilige coördinatie met één HPA. |
| Implementatie + KEDA | Hiermee verhoogt u de minReplicaCount op de ScaledObject en voegt u onmiddellijk een replica toe, omdat KEDA een extra latentiestap heeft (KEDA synchroniseert met de HPA, waarna de HPA vervolgens met de deployment synchroniseert). |
Herstelt de oorspronkelijke waarde minReplicaCount; KEDA en de bijbehorende HPA verzorgen het terugschalen. |
Veilige coördinatie met één enkele KEDA ScaledObject. |
| Implementatie + KEDA + een afzonderlijke HPA | Wordt niet ondersteund. KEDA maakt al een eigen HPA, dus een tweede HPA produceert conflicterende schrijfbewerkingen naar dezelfde implementatie. | De extensie markeert zichzelf Degraded in de status EvictionAutoScaler en schaalt niet plotseling op, omdat het niet mogelijk is om veilig twee autoscalers te coördineren die naar hetzelfde doel schrijven. |
Controleer de status van de EvictionAutoScaler-resource en verwijder de extra HPA om dit op te lossen. |
Als u wilt controleren hoe de extensie een implementatie weergeeft, inclusief eventuele Degraded-status van een niet-ondersteunde autoscalerconfiguratie:
kubectl get evictionautoscalers -A -o yaml
Prerequisites
Voordat u de automatische PDB-beheerextensie installeert, moet u het volgende hebben:
- Een AKS-cluster met een ondersteunde Kubernetes-versie.
- Workloads die Deployments gebruiken. StatefulSets worden niet ondersteund en het gebruik van automatisch PDB-beheer met StatefulSets wordt niet aanbevolen.
- Azure CLI versie 2.64.0 of hoger. Voer
az --versionuit om te controleren. Voor het installeren of upgraden, zie Azure CLI installeren. - De
Microsoft.KubernetesConfigurationprovider die in uw abonnement is geregistreerd. - Uw AKS-cluster moet een beheerde identiteit (geen service-principal) gebruiken. Clusterextensies werken niet met clusters op basis van een service-principal. Zie AKS-clusterextensies voor meer informatie.
Note
Automatisch PDB-beheer is alleen van toepassing op Pod Disruption Budgets en het aantal deploymentreplica's. Het staat los van upgrade-instellingen voor nodepools, zoals max-surge, de time-out voor het leegmaken van nodes, de soaktijd van nodes en de upgradestrategie (rolling versus blue-green). Elke configuratie van een knooppuntgroep die geschikt is voor uw cluster, blijft werken met deze extensie ingeschakeld.
Extensiemachtigingen
Voor de automatische PDB-beheerextensie zijn machtigingen vereist voor het lezen en schrijven van implementaties, budgetten voor podonderbrekingen en gebeurtenissen in de naamruimten die worden beheerd. De extensie installeert zijn eigen serviceaccount en RBAC-rollen tijdens de installatie. Zie de projectopslagplaats op GitHub voor de volledige lijst met rollen en machtigingen.
De configuratieprovider registreren
Als u Azure Kubernetes-extensies nog niet eerder hebt gebruikt, registreert u de vereiste provider:
az feature register --namespace Microsoft.KubernetesConfiguration --name Extensions
# Verify registration status
az feature show --namespace Microsoft.KubernetesConfiguration --name Extensions
# After the feature shows "Registered", refresh the provider
az provider register -n Microsoft.KubernetesConfiguration
Automatisch PDB-beheer installeren
Automatisch PDB-beheer wordt geïnstalleerd als een extensie op uw AKS-cluster. Kies een installatieoptie op basis van uw behoeften.
Basisinstallatie
Installeer de extensie met standaardinstellingen. In deze modus kijkt de extensie naar door PDB geblokkeerde verwijderingen in de kube-system naamruimte, maar maakt deze niet automatisch PDBs voor niet-beveiligde implementaties. De kube-system naamruimte is standaard opgenomen omdat AKS-beheerde systeemonderdelen ook GEBRUIKMAKEN van PDBs die knooppuntafvoer kunnen blokkeren tijdens upgrades:
az k8s-extension create \
--cluster-name <cluster-name> \
--cluster-type managedClusters \
--extension-type microsoft.evictionautoscaler \
--name eviction-autoscaler \
--resource-group <resource-group-name> \
--release-train stable \
--auto-upgrade-minor-version true
Installeren met automatische aanmaak van PDB voor specifieke naamruimten
Schakel het automatisch maken van PDB in en geef op welke naamruimten de extensie moet beveiligen. Dit is de aanbevolen configuratie voor de meeste clusters:
az k8s-extension create \
--cluster-name <cluster-name> \
--cluster-type managedClusters \
--extension-type microsoft.evictionautoscaler \
--name eviction-autoscaler \
--resource-group <resource-group-name> \
--release-train stable \
--configuration-settings controllerConfig.pdb.create=true controllerConfig.namespaces.actionedNamespaces="{kube-system,production}" \
--auto-upgrade-minor-version true
Installeren met clusterbrede beveiliging
Schakel het automatisch maken van PDB in voor alle naamruimten:
az k8s-extension create \
--cluster-name <cluster-name> \
--cluster-type managedClusters \
--extension-type microsoft.evictionautoscaler \
--name eviction-autoscaler \
--resource-group <resource-group-name> \
--release-train stable \
--configuration-settings controllerConfig.pdb.create=true controllerConfig.namespaces.enabledByDefault=true \
--auto-upgrade-minor-version true
Configuratieopties
Met de volgende instellingen bepaalt u hoe automatisch PDB-beheer zich gedraagt:
| Setting | Description | Standaard |
|---|---|---|
controllerConfig.pdb.create |
Maak automatisch PDB's voor deployments die er nog geen hebben. | false |
controllerConfig.namespaces.enabledByDefault |
Schakel automatisch PDB-beheer in alle naamruimten in, inclusief naamruimten die al bestaan en eventuele naamruimten die later worden gemaakt. | false |
controllerConfig.namespaces.actionedNamespaces |
Lijst met naamruimten, gescheiden door komma's, die moeten worden ingeschakeld wanneer enabledByDefaultfalse is. Er is geen vaste limiet voor het aantal naamruimten, maar de limiet voor de grootte van het Kubernetes-API-object (~1 MiB per object) is van toepassing. |
{kube-system} |
Algemene configuratiepatronen
| Pattern | Settings | Gebruiksituatie |
|---|---|---|
| Conservatieve |
pdb.create=false, enabledByDefault=false, actionedNamespaces={kube-system} |
U beheert PDBs handmatig en wilt automatisch schalen alleen voor systeemworkloads. |
| Gerichte automatische bescherming (aanbevolen) |
pdb.create=true, enabledByDefault=false, actionedNamespaces={production,staging} |
U wilt automatisch PDB maken en automatisch schalen in specifieke naamruimten. |
| Clusterbrede beveiliging |
pdb.create=true, enabledByDefault=true |
U wilt dat elke naamruimte automatisch wordt beveiligd. |
| Alleen bewaken |
pdb.create=false, enabledByDefault=true |
U wilt automatisch schalen voor alle naamruimten, maar zelf PDBs beheren. |
Naamruimtebeheer
De extensie werkt in een van de twee modi, afhankelijk van de enabledByDefault instelling.
Twee aanvullende besturingselementen bepalen op welke naamruimten de extensie reageert:
-
controllerConfig.namespaces.actionedNamespacesstelt de basislijnlijst op het tijdstip van de installatie in en is de eenvoudigste manier om een bekende set naamruimten in te schakelen. - Met
eviction-autoscaler.azure.com/enablede aantekening van de naamruimte (ofdisable) kunnen clusteroperators tijdens runtime naamruimten in- of uitschakelen zonder de extensie opnieuw te installeren.
Aanmeldingsmodus (standaard)
Wanneer enabledByDefault is false, worden alleen naamruimten die worden vermeld in actionedNamespaces ingeschakeld. U kunt extra naamruimten afzonderlijk inschakelen door een aantekening toe te voegen:
apiVersion: v1
kind: Namespace
metadata:
name: my-namespace
annotations:
eviction-autoscaler.azure.com/enable: "true"
Afmeldingsmodus
Wanneer enabledByDefault is true, worden alle naamruimten ingeschakeld. U kunt specifieke naamruimten uitsluiten door een aantekening toe te voegen:
apiVersion: v1
kind: Namespace
metadata:
name: my-excluded-namespace
annotations:
eviction-autoscaler.azure.com/enable: "false"
Specifieke implementaties uitsluiten
Als u wilt voorkomen dat de extensie een PDB voor een specifieke implementatie maakt, voegt u de volgende aantekening toe aan de implementatie:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
annotations:
eviction-autoscaler.azure.com/pdb-create: "false"
Note
Automatisch PDB-beheer slaat het aanmaken van een PDB automatisch over voor deployments die maxUnavailable (anders dan 0) in hun rolling-update-strategie hebben, omdat dergelijke deployments al een zekere mate van uitval kunnen verdragen.
Automatisch maken van PDB
Wanneer controllerConfig.pdb.create is ingesteld op true, maakt de extensie PDB's voor implementaties die aan alle onderstaande criteria voldoen:
- De implementatie heeft nog geen overeenkomende PDB.
- De implementatie bevindt zich in een ingeschakelde naamruimte.
- De implementatie wordt niet uitgesloten via de
eviction-autoscaler.azure.com/pdb-create: "false"aantekening.
Automatisch aangemaakte PDB's worden ingesteld minAvailable op basis van de schaalbron van de workload. Voor implementaties zonder HPA of KEDA komt minAvailable dit overeen met het huidige aantal replica's van de implementatie (met uitzondering van eventuele piekreplica's die door de extensie worden toegevoegd). Voor deployments met HPA of KEDA is minAvailable afgestemd op het minimumaantal replica’s van de autoscaler. Dit betekent dat uitzetting wordt geblokkeerd totdat de extensie de deployment opschaalt, waarna de extra replica's aan het budget voldoen en het drainen doorgang krijgt.
Eigendom en opschoning van PDB
PDBs die door de extensie worden gemaakt, worden gemarkeerd met een ownedBy: EvictionAutoScaler aantekening. Deze PDBS die eigendom zijn van een controller, worden automatisch verwijderd wanneer:
- De bovenliggende implementatie wordt verwijderd.
- De naamruimte wordt verwijderd uit het bereik van de extensie.
- De extensie wordt verwijderd uit het cluster. PDB's met de annotatie
ownedBy: EvictionAutoScalerworden opgeschoond door Kubernetes garbage collection.
PDF-bestanden die u handmatig maakt, worden nooit gewijzigd of verwijderd door de extensie.
Als u handmatig controle wilt over een PDB die door de extensie is gemaakt, verwijdert u de aantekening van het eigendom. Nadat u deze aantekening hebt verwijderd, beheert de extensie die PDB niet meer en bent u verantwoordelijk voor het bijwerken of verwijderen ervan:
kubectl annotate pdb <pdb-name> -n <namespace> ownedBy-
De installatie controleren
Controleer na de installatie van de extensie of automatisch PDB-beheer correct werkt.
Controleer of PDB's zijn gemaakt voor deployments in ingeschakelde namespaces. Filteren op PDBs die zijn gemaakt door de extensie:
kubectl get pdb -A -o custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace,MIN-AVAILABLE:.spec.minAvailable,OWNER:.metadata.annotations.ownedBy | grep EvictionAutoScalerControleer de custom resources voor automatisch PDB-beheer:
kubectl get evictionautoscalers --all-namespacesTest met een knooppunt cordon (optioneel). In een test- of faseringsomgeving, cordoneert u een knooppunt en controleert u of de extensie de implementatie omhoog schaalt en de toegestane onderbrekingen van de PDB hoger zijn dan nul:
# Cordon a node NODE=$(kubectl get pods -n <namespace> -l app=<app-label> -o=jsonpath='{.items[0].spec.nodeName}') kubectl cordon $NODE # Watch for automatic PDB management events kubectl get events -n <namespace> --sort-by='.lastTimestamp' # Check that the deployment scaled up kubectl get pods -n <namespace> # Verify PDB allowed disruptions kubectl get poddisruptionbudget <pdb-name> -n <namespace> -o yaml # After verification, uncordon the node kubectl uncordon $NODE
De extensie bijwerken of verwijderen
Configuratie bijwerken
Als u de configuratie-instellingen wilt wijzigen, verwijdert u de extensie en maakt u deze opnieuw met de nieuwe instellingen:
# Delete the existing extension
az k8s-extension delete \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--cluster-type managedClusters \
--name eviction-autoscaler \
--yes
# Recreate with new configuration
az k8s-extension create \
--cluster-name <cluster-name> \
--cluster-type managedClusters \
--extension-type microsoft.evictionautoscaler \
--name eviction-autoscaler \
--resource-group <resource-group-name> \
--release-train stable \
--configuration-settings controllerConfig.pdb.create=true controllerConfig.namespaces.enabledByDefault=true \
--auto-upgrade-minor-version true
De extensie verwijderen
Automatisch PDB-beheer verwijderen:
az k8s-extension delete \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--cluster-type managedClusters \
--name eviction-autoscaler \
--yes
Note
Wanneer u de extensie verwijdert, worden automatisch gemaakte PDBs (gemarkeerd met de ownedBy: EvictionAutoScaler aantekening) automatisch opgeschoond. Zie PDB-eigendom en opschoning voor meer informatie.
Beperkingen en overwegingen
- Voor configuratie-updates is het verwijderen en opnieuw maken van de extensie vereist.
- Automatisch beheer van PDB’s werkt alleen met Deployments. StatefulSets worden niet ondersteund en het gebruik van deze extensie met StatefulSets wordt niet aanbevolen.
- Automatisch PDB-beheer overschrijft of wijzigt bestaande PDBs niet. Het werkt naast hen door het aantal replica’s aan te passen.
- Automatische PDB-beheercoördinaten met één automatische schaalaanpassing per implementatie (HPA of KEDA). Een deployment dat door KEDA en een afzonderlijke HPA wordt beheerd, wordt niet ondersteund; de extensie markeert zichzelf
Degradeden slaat opschalen over. Zie Coördinatie met autoscalers (HPA en KEDA). - Automatisch PDB-beheer is onafhankelijk van upgrade-instellingen voor knooppuntpools. Instellingen zoals
max-surge, time-out voor het leegmaken van knooppunten, de wachttijd van het knooppunt en de upgradestrategie (rolling versus blue-green) hoeven niet te worden gewijzigd om deze extensie te laten werken, en de extensie wijzigt de werking van die instellingen niet. - Voor het omhoog schalen van tijdelijke replica's is beschikbare capaciteit in het cluster vereist. Als er geen knooppunten ruimte hebben voor de extra pods, kunt u overwegen om de automatische schaalaanpassing van clusters of het automatisch inrichten van knooppunten (NAP) in te schakelen, zodat nieuwe knooppunten kunnen worden ingericht.
Troubleshooting
Zie de AKS-hub voor probleemoplossing voor symptomen, oorzaken en oplossingen: Problemen met Azure Kubernetes Service oplossen.
Als u de activiteit van de extensie rechtstreeks in het cluster wilt inspecteren, voert u het volgende uit:
kubectl get evictionautoscalers -A -o yaml
kubectl get events -A --sort-by='.lastTimestamp'
Verwante inhoud
- Upgradeopties en aanbevelingen — bevat Scenario 2: fouten bij het leegmaken van knooppunten en PDB's, met meerdere oplossingsopties.
- Hoe upgrades van AKS-clusters werken — legt het stapsgewijze proces van rolling upgrades uit en wat er gebeurt wanneer een PDB het ontruimen van knooppunten blokkeert.
- Best practices voor Pod Disruption Budgets — richtlijnen voor het configureren van PDB's voor hoge beschikbaarheid.
- Kubernetes-documentatie: Pod Disruption Budgets — upstream PDB-referentie.
- Automatisch PDB-beheerproject op GitHub: broncode en gedetailleerde technische naslaginformatie.