Kubernetes Erfolgsgeschichten in der Produktion. Teil 9: CERN- und 210 K8-Cluster



Heute ist CERN einer der größten Kubernetes-Benutzer der Welt. Jüngsten Statistiken zufolge wurden in dieser europäischen Organisation 210 europäische K8-Cluster hinter dem Large Hadron Collider (LHC) und einer Reihe anderer bekannter Forschungsprojekte gestartet, die gleichzeitig Hunderttausende von Aufgaben erfüllen. Diese Erfolgsgeschichte handelt von ihnen.

CERN-Container: Start


Für diejenigen, die zumindest oberflächlich mit den Aktivitäten des CERN vertraut sind, ist es kein Geheimnis, dass in dieser Organisation den relevanten Informationstechnologien viel Aufmerksamkeit geschenkt wird: Denken Sie daran, dass dies der Geburtsort des World Wide Web ist und dass Sie unter den neueren Vorzügen Netzsysteme (einschließlich LHC) abrufen können Computing Grid ), eine spezialisierte integrierte Schaltung , eine Scientific Linux-Distribution und sogar eine eigene offene Hardwarelizenz. In der Regel sind diese Projekte, ob Software oder Hardware, mit der Hauptidee des CERN-LHC verbunden. Dies gilt auch für die CERN-IT-Infrastruktur, die weitgehend ihren eigenen Bedürfnissen entspricht.


Im CERN-Rechenzentrum in Genf

Die frühesten öffentlich verfügbaren Informationen über die praktische Verwendung von Containern in der Infrastruktur der Organisation, die gefunden wurden, stammen aus dem April 2016. Im Rahmen eines „internen“ Berichts von Containers and Orchestration in der CERN-Cloud sprachen CERN-Mitarbeiter darüber, wie sie OpenStack Magnum (eine OpenStack-Komponente für die Arbeit mit Container-Orchestrierungs-Engines) verwenden , um Container in ihrer Cloud (CERN Cloud) und deren Orchestrierung zu unterstützen. Bereits damals erwähnten die Ingenieure Kubernetes und wollten unabhängig von dem gewählten Orchestrierungsinstrument sein, um andere Optionen zu unterstützen: Docker Swarm und Mesos.

Hinweis : Die OpenStack-Cloud selbst wurde 2013 einige Jahre zuvor in die CERN-Produktionsinfrastruktur eingeführt. Bis Februar 2017 waren in dieser Cloud 188.000 Kerne und 440 TB RAM verfügbar, 4 Millionen virtuelle Maschinen wurden erstellt (von denen 22.000 aktiv waren).



Zu dieser Zeit wurde die Containerunterstützung im Format Containers-as-a-Service als Pilotdienst positioniert und in zehn IT-Projekten der Organisation eingesetzt. Unter den Anwendungsszenarien wurde die kontinuierliche Integration in GitLab CI zum Erstellen und Ausrollen von Anwendungen in Docker-Containern gefordert.


Von der Präsentation bis zum CERN-Bericht vom 8. April 2016

Der Start dieses Dienstes in der Produktion wurde für das dritte Quartal 2016 erwartet.

Hinweis : Es ist erwähnenswert, dass CERN-Mitarbeiter ihre Best Practices stets in den Upstream der verwendeten Open Source-Projekte einfließen lassen, einschließlich und zahlreiche OpenStack-Komponenten, in diesem Fall Magnum, Puppet-Magnum, Rally usw.

Millionen von Anfragen pro Sekunde mit Kubernetes


Im Juni desselben Jahres (2016) hatte der Dienst am CERN noch den Status einer Vorproduktion:

"Wir bewegen uns schrittweise in Richtung eines vollwertigen Produktionsmodus, um Containers-as-a-Service in die am CERN verfügbaren Standard-IT-Services aufzunehmen."

Inspiriert von der Veröffentlichung im Kubernetes-Blog über die Bearbeitung von 1 Million HTTP-Anfragen pro Sekunde ohne Ausfallzeit während des Service-Updates in K8s beschlossen die Ingenieure der wissenschaftlichen Organisation, diesen Erfolg in ihrem Cluster auf OpenStack Magnum, Kubernetes 1.2 und einer Hardwarebasis von 800 CPU-Kernen zu wiederholen.

Darüber hinaus beschlossen sie, sich nicht auf eine einfache Wiederholung des Experiments zu beschränken, und erhöhten erfolgreich die Anzahl der Anforderungen auf 2 Millionen pro Sekunde. Gleichzeitig bereiteten sie mehrere Patches für dasselbe OpenStack Magnum vor und führten Tests mit unterschiedlicher Anzahl von Knoten im Cluster durch (300, 500 und 1000).



Zusammenfassend fassten die Ingenieure die Ergebnisse dieser Tests zusammen und stellten erneut fest, dass "es auch Schwärme und Mesos gibt, und wir planen, bald Tests an ihnen durchzuführen." Ob die Angelegenheit diese Tests erreicht hat, ist das Internet nicht bekannt, aber bis Ende dieses Jahres wurde das Experiment mit Kubernetes fortgesetzt - mit 10 Millionen Anfragen pro Sekunde. Das Ergebnis war recht positiv, beschränkte sich jedoch auf eine erfolgreiche Marke von etwas mehr als 7 Millionen - aufgrund eines Netzwerkproblems, das nicht mit OpenStack zusammenhängt.

Ingenieure, die auf OpenStack Heat und Magnum spezialisiert sind, haben außerdem gemessen, dass es 23 Minuten gedauert hat, um den Cluster von 1 auf 1000 Knoten zu skalieren, und ihn als gutes Ergebnis bewertet (siehe auch die Präsentation zu 10.000 Containern auf OpenStack auf dem OpenStack Summit Barcelona 2016) .

Container am CERN: Übergang zur Produktion


Im Februar des nächsten Jahres (2017) wurden Container am CERN bereits häufig zur Lösung von Problemen aus verschiedenen Bereichen eingesetzt: Stapelverarbeitung, maschinelles Lernen, Infrastrukturmanagement, kontinuierliche Bereitstellung ... Dies wurde im Bericht „ OpenStack Magnum am CERN “ angekündigt . Skalieren von Containerclustern auf Tausende von Knoten "( Video ) auf der FOSDEM 2017:



Es wurde auch berichtet, dass der Einsatz von Magnum am CERN im Oktober 2016 in die Produktionsphase eingetreten ist, und erneut die Unterstützung von drei Instrumenten für die Orchestrierung hervorgehoben: Kubernetes, Docker Swarm und Mesos. Warum es so wichtig war, erklärte Ricardo Rocha von der IT-Abteilung des CERN in einer seiner Reden (OpenStack Summit in Boston, Mai 2017):

„Mit Magnum können wir auch einen Containermotor auswählen, der für uns sehr wertvoll war. Gruppen von Menschen, die sich für Kubernetes einsetzten, arbeiteten in der Organisation, aber es gab auch diejenigen, die bereits Mesos verwendeten, und einige arbeiteten sogar mit dem üblichen Docker, um sich weiterhin auf die Docker-API verlassen zu können, und Swarm hat hier großes Potenzial. Wir wollten eine einfache Bedienung erreichen und nicht verlangen, dass die Benutzer komplexe Muster verstehen, um ihre Cluster zu konfigurieren. “

Zu dieser Zeit verwendete CERN etwa 40 Cluster mit Kubernetes, 20 mit Docker Swarm und 5 mit Mesosphere DC / OS.

Ein Jahr später, bis Mai 2018, hat sich die Situation erheblich geändert. Aus der Präsentation von CERN Experiences with Multi-Cloud Federated Kubernetes ( Video ) von Ricardo und seinem Kollegen (Clenimar Filemon) auf der KubeCon Europe 2018 wurden neue Details zur Verwendung von Kubernetes bekannt. Jetzt ist es nicht nur eines der Container-Orchestrierungs-Tools, die Benutzern einer wissenschaftlichen Organisation zur Verfügung stehen, sondern auch eine Technologie, die für die gesamte Infrastruktur wichtig ist. Dank des Verbandes kann die Computing-Cloud erheblich erweitert werden, indem Ressourcen von Drittanbietern (GKE, AKS, Amazon, Oracle ...) zu ihren eigenen Kapazitäten hinzugefügt werden.

Hinweis : Federation in Kubernetes ist ein spezieller Mechanismus, der die Verwaltung mehrerer Cluster vereinfacht, indem die darin enthaltenen Ressourcen synchronisiert und Dienste in allen Clustern automatisch erkannt werden. Der eigentliche Fall der Anwendung besteht darin, mit einer Vielzahl von Kubernetes-Clustern zu arbeiten, die auf verschiedene Anbieter verteilt sind (deren Rechenzentren, Cloud-Dienste von Drittanbietern).

Wie Sie auf dieser Folie sehen können, die einige quantitative Merkmale des CERN-Rechenzentrums in Genf zeigt ...



... die interne Infrastruktur der Organisation enorm gewachsen ist. Zum Beispiel hat sich die Anzahl der verfügbaren Kerne für das Jahr fast verdoppelt - bereits auf 320.000. Die Ingenieure gingen noch weiter und kombinierten mehrere ihrer Rechenzentren, nachdem sie die Verfügbarkeit von 700.000 Kernen in der CERN-Cloud erreicht hatten, die 400.000 Aufgaben parallel ausführen (zur Rekonstruktion von Ereignissen, Kalibrierung von Detektoren, Simulationen, Datenanalyse usw.) ...

Im Zusammenhang mit diesem Artikel ist jedoch die Tatsache von größerem Interesse, dass es bereits 210 Kubernetes-Cluster gibt, deren Größe stark variiert (von 10 bis 1000 Knoten).

Föderation mit Kubernetes


Die internen Kapazitäten des CERN reichten jedoch nicht immer aus - zum Beispiel für Perioden scharfer Belastungen: vor großen internationalen Konferenzen zur Physik und bei großen Kampagnen zur Rekonstruktion von Experimenten. Ein auffälliger Anwendungsfall, der große Ressourcen erfordert, ist der CERN-Batch-Service, auf den etwa 80% der Computerressourcen des Unternehmens entfallen.

Das Herzstück dieses Systems ist das Open-Source-Framework HTCondor , das zur Lösung von Problemen der HTC-Kategorie (High-Throughput Computing) entwickelt wurde. Der StartD-Daemon ist für die darin enthaltenen Berechnungen verantwortlich, die auf jedem Knoten gestartet werden und für das Starten der Arbeitslast auf diesem Knoten verantwortlich sind. Er war es, der am CERN mit dem Ziel, auf Kubernetes und weiteren Verbänden zu starten, containerisiert wurde.


HTCondor von der Präsentation des CERN auf der KubeCon Europe 2018

Auf diesem Weg konnten die CERN-Ingenieure eine einzelne Ressource ( DaemonSet mit einem Container, in dem StartD von HTCondor aus gestartet wird) beschreiben und auf den Knoten aller Verbund-Kubernetes-Cluster bereitstellen: zuerst als Teil des Rechenzentrums und dann als Verbindung zu externen Anbietern (öffentliche Cloud) von T-Systems und anderen Unternehmen):



Eine weitere Anwendung ist eine Analyseplattform , die auf REANA , RECAST und Yadage basiert . Im Gegensatz zum CERN Batch Service, einer in der Organisation etablierten Software, handelt es sich um eine Neuentwicklung, bei der die Besonderheiten der Anwendung zusammen mit Kubernetes sofort berücksichtigt wurden. Workflows in diesem System werden so implementiert, dass jeder Schritt in Job for Kubernetes konvertiert wird.

Wenn anfänglich alle diese Aufgaben in einem einzigen Cluster ausgeführt wurden, wuchsen im Laufe der Zeit die Anforderungen und "heute ist unser bester Anwendungsfallverbund in Kubernetes". Sehen Sie sich ein kurzes Video mit seiner Demonstration in diesem Fragment von Ricardo Rochas Rede an.

PS


Weitere Informationen zum aktuellen Umfang der IT-Nutzung am CERN finden Sie auf der Website des Unternehmens .

Andere Artikel aus dem Zyklus


Source: https://habr.com/ru/post/de412571/


All Articles