In der IT-Welt ist Kubernetes allgegenwärtig. Unterstützt von mehr als 43.000 MitwirkendenDieses Open-Source-System ist zum Standardverfahren für die Bereitstellung moderner Applications in der Cloud geworden. Warum? Kurz gesagt: Kubernetes macht Entwicklern das Leben viel einfacher, beschleunigt die Einführung von Apps und steigert den Wert der zugrunde liegenden Plattform für Endbenutzer.
Kubernetes, auch als k8s bekannt, hat in der Telekommunikationsbranche kürzlich für Aufsehen gesorgt, da die Betreiber den Übergang von „Walled Gardens“ zu offenen Plattformen anstreben. Das System soll ein wesentlicher Bestandteil der flexiblen Cloud-nativen Architektur sein, die erforderlich ist, um das Beste aus eigenständigen 5G-Netzwerken herauszuholen. Ein echtes Cloud-natives Netzwerk bietet unzählige Vorteile, von der schnelle Bereitstellung von Diensten und Automatisierung bis hin zu deutlich höherer Ausfallsicherheit und Effizienz. Ein typisches Beispiel: Google stellt mithilfe seiner internen Plattform Borg , dem Vorgänger von Kubernetes, wöchentlich mehr als zwei Milliarden Container bereit.
Diese Art von Flexibilität und Skalierbarkeit ist grundlegend für die Telko-Cloud-Vision – die Idee, dass 5G-Netzwerke zu einer vielseitigen Plattform für eine breite Palette von Diensten und Apps werden, die von Dritten entwickelt werden. Da Telekommunikationsunternehmen Apps in portablen Containern einsetzen können, kann Kubernetes beispielsweise Dienste an den Rand des Netzwerks bringen, näher an die Endbenutzer, und so die Latenz reduzieren.
Also, was macht Kubernetes eigentlich? Eine moderne Application besteht typischerweise aus verschiedenen Microservices, von denen jeder eine bestimmte Funktion übernimmt, wie etwa Auftragsverwaltung, Berichterstellung oder Zahlungen. Sobald die Microservices in Containern verpackt sind, automatisiert Kubernetes deren Bereitstellung, Skalierung und Verwaltung. Kubernetes kann auch die automatische Reparatur im Falle eines Fehlers in einem Cluster von Mikroservices unterstützen.
Entscheidend ist, dass Kubernetes einige der zugrunde liegenden internen Netzwerkkomplexitäten für App-Entwickler abstrahiert. Dies macht dem typischen App-Entwickler das Leben viel einfacher. Im Wesentlichen ermöglicht Kubernetes, Apps auf einfache und unkomplizierte Weise der Außenwelt zugänglich zu machen.
Ein Kubernetes-Ingress-Controller ist der Kanal, über den ein Endbenutzer über das HTTP-Protokoll mit einer Application interagiert. Der Ingress-Controller übernimmt auch die Verkehrsverwaltung und stellt sicher, dass Benutzeranforderungen an den richtigen Microservice im Kubernetes-Cluster weitergeleitet werden.
All diese Vorteile können durch die servicebasierte Architektur der 5G-Netzwerke genutzt werden, allerdings nur, wenn die Telekommunikationsunternehmen eine neue Denkweise entwickeln. Obwohl Kubernetes viele Vorteile bietet, kann das System im Vergleich zu dem, was Telekommunikationsingenieure gewohnt sind, etwas unvereinbar erscheinen. Da Telekommunikationsunternehmen mit Leib und Seele für die Vernetzung zuständig sind, können sie die IP-Adressen von Netzwerkgeräten problemlos manuell konfigurieren und ihre eigenen Regeln für das Routing und den Lastausgleich sowie für andere Parameter festlegen, die durch Kubernetes abstrahiert werden sollen.
Diese Art der manuellen Konfiguration würde jedoch den ganzen Sinn von Kubernetes untergraben: Sie würde die schnelle Bereitstellung und automatische Skalierung verhindern, die Kennzeichen der großen Cloud-Plattformen wie AWS und Azure sind. Die ersten Lösungen zur Virtualisierung von Netzwerkfunktionen (NFV), die von Telekommunikationsunternehmen in 4G-Netzwerken eingesetzt wurden, verwendeten in der Regel manuelle Skripting-Verfahren und verfügten daher nicht über die Dynamik und Automatisierung einer modernen IT-Architektur.
Mit der Einführung der 5G-Kernnetze stehen die Telekommunikationsunternehmen vor einem leeren Blatt. Leider können sie nicht einfach ein Standard-Kubernetes-System transplantieren. Die überwiegende Mehrheit der Telekommunikationsunternehmen setzt 5G-Netze neben 4G-Netzen ein und benötigt daher einen Kubernetes-Ingress, der neben HTTP auch Standard-Telekommunikationsprotokolle (SCTP, Diameter und GTP) unterstützt. Dies liegt daran, dass der Kubernetes-Ingress, der den 5G-Diensten als Frontend dient, nicht direkt über HTTP mit einem Benutzer kommuniziert, sondern stattdessen eine Verbindung zu anderen 4G- und 5G-Kernelementen herstellt. In einigen Fällen wird eine Interworking-Funktion erforderlich sein, die HTTP/2-Nachrichten in Diameter-Nachrichten und umgekehrt übersetzt.
Eine weitere Komplikation besteht darin, die interne Kommunikation innerhalb des Application zu unterstützen. In einer Standardbereitstellung von Kubernetes wird normalerweise ein Service Mesh verwendet, um die Kommunikation zwischen verschiedenen Microservices sicher zu verwalten und zu verfolgen. Während solche Service Meshes IT-zentrierte Tracing-Funktionen unterstützen, stellen Telekommunikationsunternehmen zunehmend fest, dass die damit verbundene Funktionalität nicht optimal an ihre Anforderungen angepasst ist.
Die dritte Frage ist, wie die 5G-Funktionen innerhalb des Kubernetes-Clusters mit der Außenwelt kommunizieren. Das Öffnen der von Kubernetes zugewiesenen dynamischen internen IP-Adressen ist keine gute Idee. Die Adressen ändern sich im Laufe der Zeit und eine solche Sichtbarkeit für die Außenwelt würde ein erhebliches Sicherheitsrisiko darstellen. Telekommunikationsunternehmen wollen die volle Kontrolle über die Zuweisung von IP-Adressen zu bestimmten 5G-Funktionen. Diese sollten unabhängig von den IP-Adressen sein, die von den zugrunde liegenden Containern verwendet werden, aus denen diese 5G-Funktion besteht. Um dies zu erreichen, ist eine intelligente Kubernetes-Egress-Funktion erforderlich.
Eine Möglichkeit wäre, auf Kubernetes zu verzichten und lediglich eine 5G-Funktion in einem Container mit einer statischen IP-Adresse bereitzustellen, die von außen zugänglich ist. Wer auf diese Weise Abstriche macht, muss allerdings in puncto Skalierbarkeit und Flexibilität einen hohen Preis zahlen. So wäre es zum Beispiel nicht möglich, 5G-Funktionen einfach per Knopfdruck überall im Netz bereitzustellen. Wenn Sie diesen Automatisierungsgrad wünschen, der die Zukunft sein wird, können Sie bei Kubernetes keine Abstriche machen.
F5 ist seit langem sowohl in der Telekommunikations- als auch in der IT-Welt tätig und hat herausgefunden, wie wir Telekommunikationsunternehmen dabei helfen können, die umfassenden Vorteile von Kubernetes zu nutzen. Hierzu gehört unsere BIG-IP SPK-Lösung , die einen Kubernetes-Ingress zur Unterstützung von Telkoprotokollen sowie HTTP ermöglicht. Darüber hinaus verwendet es Network Address Translation (NAT) und Routing, um einem Kubernetes-Ausgang die Bereitstellung einer statischen vordefinierten IP-Adresse für die Außenwelt zu ermöglichen, ohne die interne Dynamik des Clusters zu beeinträchtigen. Unabhängig davon, was innerhalb des Clusters geschieht, können Sie externen Entitäten immer dieselbe IP-Adresse bereitstellen. Darüber hinaus unterstützt unser Service-Mesh Aspen Mesh die Beobachtung und Nachverfolgung auf „Telco-Niveau“. Es kann Telekommunikationsunternehmen vollständige Transparenz und Nachverfolgung des zwischen den 5G-Mikrodiensten fließenden Datenverkehrs bieten und so die Sicherheit erhöhen.
Bei richtiger Herangehensweise kann Kubernetes für Telekommunikationsunternehmen eine echte Transformation bedeuten: Es kann die vielen Vorteile einer Cloud-nativen Architektur freisetzen und die Interaktion der Betreiber mit der Außenwelt erheblich vereinfachen. Sobald dieses Open-Source-System vollständig an eine Telekommunikationsumgebung angepasst ist, wird es sicherlich ein integraler Bestandteil der 5G-Zukunft sein.
Dieser Artikel ist der erste einer zweiteiligen Serie. Beim nächsten Mal werden wir untersuchen, wie die F5-Technologie die betrieblichen Probleme lösen kann, die bei der Verwaltung von IT- und Telekommunikations-Workloads über eine große Anzahl von Kubernetes-Clustern auf unterschiedlichen Plattformen auftreten.