Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie mehr über Knotenressourcenreservierungen in Azure Kubernetes Service (AKS).
Ressourcenreservierungen
AKS verwendet Knotenressourcen, damit die Knoten als Teil des Clusters fungieren können. Diese Verwendung kann zu einer Abweichung zwischen den Gesamtressourcen des Knotens und den Ressourcen führen, die in AKS zugewiesen werden können.
Um die Leistung und Funktionalität des Knotens zu gewährleisten, reserviert AKS zwei Ressourcentypen auf jedem Knoten, CPU und Arbeitsspeicher. Wenn die Ressourcen eines Knotens zunehmen, steigen auch die Ressourcenreservierungen aufgrund des höheren Verwaltungsaufwands für vom Benutzer bereitgestellte Pods. Denken Sie daran, dass Sie keine Ressourcenreservierungen auf einem Knoten ändern können.
CPU-Reservierungen
Die reservierten CPU-Ressourcen hängen vom Knotentyp und der Clusterkonfiguration ab. Diese können dazu führen, dass weniger CPU-Ressourcen zugewiesen werden können, da zusätzliche Features ausgeführt werden. Die folgende Tabelle zeigt CPU-Reservierungen in Millicores:
| CPU-Kerne auf dem Host | 1 Kern | 2 Kerne | 4 Kerne | 8 Kerne | 16 Kerne | 32 Kerne | 64 Kerne |
|---|---|---|---|---|---|---|---|
| Kube-reservierte CPU (Millicores) | 60 | 100 | 140 | 180 | 260 | 420 | 740 |
Speicherreservierungen
In AKS besteht der reservierte Speicher aus der Summe zweier Werte:
AKS 1.29 und höher
kubeletDaemon verfügt standardmäßig über die memory.available< 100Mi-Entfernungsregel. Durch diese Regel wird sichergestellt, dass ein Knoten immer über mindestens 100 Mi verfügt. Wenn ein Host unter diesen Schwellenwert für verfügbaren Speicher fällt, veranlasstkubeletdie Beendigung eines der laufenden Pods und gibt Speicher auf dem Hostsystem frei.Eine Speicherreservierungsrate, die anhand des kleineren der folgenden Werte festgelegt wird: 20 MB * maximale Anzahl der auf dem Knoten unterstützten Pods + 50 MB oder 25 % des gesamten Systemspeichers.
Beispiele:
- Wenn die virtuelle Maschine (VM) 8 GB Arbeitsspeicher bereitstellt und der Knoten bis zu 30 Pods unterstützt, reserviert AKS 20 MB * 30 max. Pods + 50 MB = 650 MB für kube-reserved.
Allocatable space = 8 GB - 0.65 GB (kube-reserved) - 0.1 GB (eviction threshold) = 7.25 GB or 90.625% allocatable. - Wenn die VM 4 GB Arbeitsspeicher bereitstellt und der Knoten bis zu 70 Pods unterstützt, reserviert AKS 25 % * 4 GB = 1000 MB für kube-reserved, da dies weniger als 20 MB * 70 max. Pods + 50 MB = 1450 MB ist.
Weitere Informationen finden Sie unter Konfigurieren der maximalen Pods pro Knoten in einem AKS-Cluster.
- Wenn die virtuelle Maschine (VM) 8 GB Arbeitsspeicher bereitstellt und der Knoten bis zu 30 Pods unterstützt, reserviert AKS 20 MB * 30 max. Pods + 50 MB = 650 MB für kube-reserved.
Hinweis
Um kubeReserved CPU- und Arbeitsspeicherwerte oder hardEvictionThreshold in Linux-Knotenpools anzupassen, verwenden Sie die Vorschau-Einstellungen für die benutzerdefinierte Knotenkonfiguration und registrieren Sie das AKSNodeCustomizationPreview-Featureflag. Weitere Informationen finden Sie unter Anpassen der Knotenkonfiguration für Azure Kubernetes Service (AKS) Knotenpools.
AKS-Versionen vor 1.29
-
kubeletDaemon verfügt standardmäßig über die memory.available<750Mi-Entfernungsregel. Durch diese Regel wird sichergestellt, dass ein Knoten immer über mindestens 750 Mi verfügt. Wenn ein Host unter diesen Schwellenwert für den verfügbaren Speicher fällt, löstkubeletdas Beenden eines der laufenden Pods aus, um Speicher auf dem Host freizugeben. -
Eine regressive Rate von Arbeitsspeicherreservierungen für den Kubelet-Daemon, damit er ordnungsgemäß funktioniert (kube-reserved)
- 25 % der ersten 4 GB Arbeitsspeicher
- 20 % der nächsten 4 GB Arbeitsspeicher (bis 8 GB)
- 10 % der nächsten 8 GB Arbeitsspeicher (bis 16 GB)
- 6 % der nächsten 112 GB Arbeitsspeicher (bis 128 GB)
- 2 % des Arbeitsspeichers über 128 GB
Hinweis
AKS reserviert zusätzliche 2 GB für Systemprozesse in Windows-Knoten, die nicht Teil des berechneten Arbeitsspeichers sind.
Speicher- und CPU-Zuteilungsregeln sind konzipiert für:
- Halten Sie die Agent-Knoten funktionsfähig, einschließlich einiger, die System-Pods hosten, die für die Gesundheit des Clusters entscheidend sind.
- Dafür sorgen, dass der Knoten weniger zuteilbaren Arbeitsspeicher und CPU meldet, als wenn er nicht Teil eines Kubernetes-Clusters wäre.
Wenn ein Knoten beispielsweise 7 GB bietet, meldet er 34 % des Arbeitsspeichers einschließlich des festen Verdrängungsschwellenwerts von 750 Mi als nicht zuteilbar.
0.75 + (0.25*4) + (0.20*3) = 0.75 GB + 1 GB + 0.6 GB = 2.35 GB / 7 GB = 33.57% reserved
Zusätzlich zu den Reservierungen für Kubernetes selbst reserviert das zugrunde liegende Knotenbetriebssystem ebenfalls CPU- und Arbeitsspeicherressourcen für die Aufrechterhaltung der Betriebssystemfunktionen.
Entsprechende bewährte Methoden finden Sie unter Best Practices für grundlegende Schedulerfunktionen in Azure Kubernetes Service (AKS).
Nächste Schritte
- Erfahren Sie mehr über die konfiguration von benutzerdefinierten Knoten in AKS.