Die Rolle von SIG Node: Wie Kubernetes die Interaktion zwischen Pods und Ressourcen optimiert
Entdecken Sie, wie SIG Node die Zuverlässigkeit in Kubernetes durch effektive Pod-Verwaltung steigert und was das für Entwickler bedeutet.
Einleitung
In Kubernetes ist ein Node die Darstellung einer einzelnen Maschine in Ihrem Cluster. SIG Node ist für diesen wichtigen Node-Komponenten verantwortlich und unterstützt verschiedene Teilprojekte wie Kubelet und Container Runtime Interface (CRI). In diesem Blog haben wir unsere Gespräche mit Elana Hashman (EH) und Sergey Kanzhelev (SK) zusammengefasst, die uns durch die verschiedenen Aspekte der SIG-Mitgliedschaft führen und Einblicke geben, wie andere sich engagieren können.
Zusammenfassung unseres Gesprächs
Könnten Sie uns ein wenig darüber erzählen, was SIG Node macht?
SK: SIG Node ist ein vertikaler SIG, der für die Komponenten verantwortlich ist, die die kontrollierten Interaktionen zwischen Pods und Host-Ressourcen unterstützen. Wir verwalten den Lebenszyklus der Pods, die auf einem Node geplant sind. Der Fokus dieses SIGs liegt darauf, eine breite Palette von Workload-Typen zu ermöglichen, einschließlich solcher mit hardware-spezifischen oder leistungsabhängigen Anforderungen. Dabei halten wir die Isolationsgrenzen zwischen Pods auf einem Node sowie zwischen Pod und Host ein. Dieses SIG verwaltet eine Vielzahl von Komponenten und hat viele externe Abhängigkeiten (wie Container-Runtimes oder Betriebssystemfunktionen), was die Komplexität, mit der wir umgehen, erheblich erhöht. Wir zähmen diese Komplexität und streben kontinuierlich danach, die Zuverlässigkeit der Nodes zu verbessern.
“SIG Node ist ein vertikaler SIG” – könnten Sie das näher erklären?
EH: Es gibt zwei Arten von SIGs: horizontale und vertikale. Horizontale SIGs beschäftigen sich mit einer bestimmten Funktion jedes Components in Kubernetes: Zum Beispiel betrachtet SIG Security die Sicherheitsaspekte jedes Components oder SIG Instrumentation analysiert Logs, Metriken, Traces und Events. Solche SIGs besitzen in der Regel nicht viel Code.
Vertikale SIGs hingegen besitzen eine einzelne Komponente und sind verantwortlich für die Genehmigung und das Zusammenführen von Patches in diesen Codebestand. SIG Node gehört zu der “Node”-Vertikalen, die sich auf das Kubelet und dessen Lebenszyklus bezieht. Dazu gehört der Code für das Kubelet selbst, sowie der Node-Controller, das Container Runtime Interface und verwandte Teilprojekte wie den Node Problem Detector.
Wie ist das CI-Teilprojekt entstanden? Ist das spezifisch für SIG Node und wie hilft es dem SIG?
SK: Das Teilprojekt entstand, nachdem eine der Releases aufgrund zahlreicher Testfehler kritischer Tests blockiert wurde. Diese Tests haben nicht alle gleichzeitig versagt, sondern eine kontinuierliche Vernachlässigung führte zu einer langsamen Verschlechterung der Testqualität. SIG Node hatte schon immer Qualität und Zuverlässigkeit priorisiert, und die Bildung des Teilprojekts war ein Weg, diese Priorität zu unterstreichen.
Als der drittgrößte SIG in Bezug auf die Anzahl der Issues und PRs, wie bewältigt Ihr SIG so viel Arbeit?
EH: Es hilft, organisiert zu sein. Als ich im Januar 2021 meine Beiträge zum SIG erhöhte, fühlte ich mich von der Menge an Pull Requests und Issues überwältigt und wusste nicht, wo ich anfangen sollte. Wir verfolgten bereits testbezogene Issues und Pull Requests auf dem CI-Teilprojekt-Board, aber das fehlte viele unserer Bugfixes und Feature-Arbeiten. Also begann ich, ein Triage-Board für die restlichen Pull Requests zusammenzustellen, was es mir ermöglichte, jeden nach Status und benötigten Maßnahmen zu sortieren und dessen Nutzung für andere Mitwirkende zu dokumentieren. In den letzten zwei Releases haben wir über 500 Issues und Pull Requests, die von unseren beiden Boards verfolgt wurden, geschlossen oder zusammengeführt. Die Kubernetes Devstats zeigten, dass wir infolgedessen unsere Geschwindigkeit erheblich erhöht haben.
Im Juni führten wir unser erstes Bug-Scrub-Event durch, um den Rückstand an Issues, die gegen SIG Node eingereicht wurden, abzuarbeiten und sicherzustellen, dass sie ordnungsgemäß kategorisiert waren. Während dieses 48-stündigen globalen Events schlossen wir über 130 Issues, aber zum Zeitpunkt des Schreibens haben wir immer noch 333 offene Issues.
Ayedo ist stolz darauf, als Partner im Kubernetes-Ökosystem zu agieren und unterstützt Teams dabei, die Vorteile von SIG Node und anderen Kubernetes-Initiativen zu nutzen.
Quelle: Kubernetes Blog