RSS-Kubernetes-Blog
Folgen
Kubernetes v1.34: Snapshotfähiger API-Server-Cache
Kubernetes hat die Stabilität und Leistung des API-Servers erheblich verbessert, indem Probleme mit Listenanforderungen behoben wurden. Ein großer Fortschritt ist der Snapshottable-API-Server-Cache, der sich jetzt in v1.34 in der Beta-Phase befindet und es ermöglicht, die meisten Leseanforderungen direkt aus dem Speicher des API-Servers zu bedienen. Diese Funktion baut auf früheren Verbesserungen wie konsistenten Lesevorgängen aus dem Watch-Cache auf, der in v1.31 eingeführt wurde und es ermöglichte, gefilterte Sammlungen an etcd vorbeizuleiten. In v1.33 wurden Streaming-Encoder hinzugefügt, um große Antworten effizient zu verarbeiten, indem Elemente einzeln gesendet wurden, wodurch Speicher-Spitzen verhindert wurden. Der Snapshottable-Cache schließt die letzte Lücke, indem er historische LIST-Anforderungen, die häufig für die Paginierung verwendet werden, ebenfalls aus dem Cache bedienen kann. Dies geschieht durch die Erstellung von leichten, speichereffizienten Snapshots des Cache-Zustands für jedes Update. Wenn eine historische Anfrage eintrifft, ruft der API-Server den relevanten Snapshot ab und bedient die Daten direkt aus dem Speicher. Diese Synergie von Funktionen reduziert den Speicherbedarf des API-Servers und die Belastung von etcd drastisch. Folglich sind Kubernetes-Steuerungsebenen jetzt stabiler, skalierbarer und zuverlässiger. Die SnapshottableCache-Funktion ist in Kubernetes v1.34 standardmäßig aktiviert, sodass keine Benutzeraktion erforderlich ist, um von diesen Verbesserungen zu profitieren.