Kubernetes auf 7.500 Nodes skalieren
(openai.com)-
OpenAI teilt seine Erfahrungen mit der Skalierung von k8s für GPT-3, DALL·E und mehr
-
Normalerweise skaliert man einen einzelnen Cluster nicht auf bis zu 7.500 Nodes, daher ist besondere Verwaltung nötig. Gleichzeitig ergibt sich dadurch jedoch eine einfache Infrastrukturstruktur, und eine bequeme Skalierung ist ohne Codeänderungen möglich.
-
Die Anwendungen und die Hardware unterscheiden sich etwas von typischen Unternehmensumgebungen
→ GPUs müssen über NVLink/GPUDirect usw. die gesamte Hardware eines Nodes nutzen
→ Deshalb belegt in der Regel ein einzelner Pod den gesamten Node
→ Das heißt: Es gibt viele Nodes, aber der Scheduler wird vergleichsweise wenig belastet
- Networking
→ Wegen der stark gestiegenen Zahl an Pods/Nodes wurde auf Native Pod Networking umgestellt
→ Die IP-Adressverarbeitung wurde auf Alias-Basis umgestellt, sodass jederzeit 200.000 IPs genutzt werden können
- API Server
→ Verwendung des von kube-prometheus bereitgestellten Grafana-Dashboards
→ Es ist hilfreich, HTTP 429 (Too Many Requests) und 5xx (Server Error) als Warnungen für übergeordnete Problemsignale zu nutzen
→ Der API Server läuft immer außerhalb des Clusters
1 Kommentare
Ein ziemlich langer Artikel … Da ich wohl nie einen Cluster in dieser Größenordnung aufbauen muss, habe ich nur kurz das Wesentliche übertragen.