© DrHitch/Shutterstock.com
Shortcuts
Von Monolithen und Microservices

5 Verwaltung Cloud-nativer Microservices mit Istio

Je umfangreicher und verflochtener eine Microservices-Architektur wird, desto unübersichtlicher wird es. Man spricht hierbei vom sogenannten Service Mesh. Viele solcher Architekturen werden heutzutage nativ in der Cloud entwickelt, und es werden besondere Anforderungen an diejenigen gestellt, die diese Microservices dann verwalten sollen. Das Tool Istio soll dabei behilflich sein, die Übersicht zu behalten.

Shortcut Autorenteam


Im vorigen Kapitel haben wir uns mit den Themen Service Mesh und Istio als Werkzeug zur Beherrschung solcher Service Meshes beschäftigt. Nachdem wir die Architektur von Istio genauer beschrieben haben, beschäftigen wir uns diesmal mit den zur Verfügung stehenden Tools von Istio. Anhand von Beispielen erläutern wir dabei die verschiedenen Konfigurationsmöglichkeiten. Dazu dient die Bookstore-Anwendung, die in einem Kubernetes-Cluster installiert wird. Die Bookstore-Anwendung stellt ein einfaches Service Mesh dar, bestehend aus einer Webapplikation und mehreren REST Services in verschiedenen Versionen. Dies sollte ausreichen, um verschiedene Aspekte Istios genauer kennen zu lernen.Automatic Sidecar InjectionEin wesentliches Feature von Istio ist es, das Sidecar automatisch bereitzustellen. Durch das Sidecar werden alle Requests und Responses der Anwendung geleitet. Beim Deployment einer Anwendung wird anhand des benutzten Kubernetes Namespace festgelegt, ob ein Sidecar provisioniert werden soll oder nicht. Um beispielsweise den Default-Namespace in Kubernetes für Sidecar Injection zu aktivieren, muss das Label istio-injection in diesem Default-Namespace auf enabled gesetzt werden:kubectl label namespace default istio-injection=enabledDas Sidecar, das essenziell für den Betrieb von Istio ist, muss logischerweise überwacht werden. Diesen Part übernimmt Kubernetes, indem es auf Prozessebene die laufenden Container überwacht und sie je nach konfigurierter Policy gegebenenfalls neu startet. Darüber hinaus ruft Kubernetes zur Erkennung von dysfunktionalen Prozessen regelmäßig die sogenannten Health Checks auf. Diese Requests werden ebenfalls durch das Sidecar geleitet, wodurch diese Services indirekt funktional überwacht werden. Im Fehlerfall wird ein Restart eines neuen Pods veranlasst, in dem auch wieder das Sidecar aktiviert ist.Distributed TracingKommt es in verteilten Systemen zu Problemen, ist es oft schwierig, die zugrunde liegende Ursache herauszufinden. Die Fehlersuche innerhalb eines Service Mesh stellt die Entwicklung und den Betrieb regelmäßig vor große Herausforderungen. Ein Request kann auf unterschiedlichen Pfaden über mehrere Service-Aufrufe durch das Mesh traversieren. Dabei können Probleme an unterschiedlichen Stellen auftreten, wobei sich die Ursachenforschung insbesondere für Timeouts und Latenzprobleme ohne entsprechende Unterstützung sehr schwierig gestaltet. Auch das Aufspüren von Fehlerkaskaden ist ohne ein geeignetes Werkzeug kaum zu be...

Shortcuts
Von Monolithen und Microservices

5 Verwaltung Cloud-nativer Microservices mit Istio

Je umfangreicher und verflochtener eine Microservices-Architektur wird, desto unübersichtlicher wird es. Man spricht hierbei vom sogenannten Service Mesh. Viele solcher Architekturen werden heutzutage nativ in der Cloud entwickelt, und es werden besondere Anforderungen an diejenigen gestellt, die diese Microservices dann verwalten sollen. Das Tool Istio soll dabei behilflich sein, die Übersicht zu behalten.

Shortcut Autorenteam


Im vorigen Kapitel haben wir uns mit den Themen Service Mesh und Istio als Werkzeug zur Beherrschung solcher Service Meshes beschäftigt. Nachdem wir die Architektur von Istio genauer beschrieben haben, beschäftigen wir uns diesmal mit den zur Verfügung stehenden Tools von Istio. Anhand von Beispielen erläutern wir dabei die verschiedenen Konfigurationsmöglichkeiten. Dazu dient die Bookstore-Anwendung, die in einem Kubernetes-Cluster installiert wird. Die Bookstore-Anwendung stellt ein einfaches Service Mesh dar, bestehend aus einer Webapplikation und mehreren REST Services in verschiedenen Versionen. Dies sollte ausreichen, um verschiedene Aspekte Istios genauer kennen zu lernen.Automatic Sidecar InjectionEin wesentliches Feature von Istio ist es, das Sidecar automatisch bereitzustellen. Durch das Sidecar werden alle Requests und Responses der Anwendung geleitet. Beim Deployment einer Anwendung wird anhand des benutzten Kubernetes Namespace festgelegt, ob ein Sidecar provisioniert werden soll oder nicht. Um beispielsweise den Default-Namespace in Kubernetes für Sidecar Injection zu aktivieren, muss das Label istio-injection in diesem Default-Namespace auf enabled gesetzt werden:kubectl label namespace default istio-injection=enabledDas Sidecar, das essenziell für den Betrieb von Istio ist, muss logischerweise überwacht werden. Diesen Part übernimmt Kubernetes, indem es auf Prozessebene die laufenden Container überwacht und sie je nach konfigurierter Policy gegebenenfalls neu startet. Darüber hinaus ruft Kubernetes zur Erkennung von dysfunktionalen Prozessen regelmäßig die sogenannten Health Checks auf. Diese Requests werden ebenfalls durch das Sidecar geleitet, wodurch diese Services indirekt funktional überwacht werden. Im Fehlerfall wird ein Restart eines neuen Pods veranlasst, in dem auch wieder das Sidecar aktiviert ist.Distributed TracingKommt es in verteilten Systemen zu Problemen, ist es oft schwierig, die zugrunde liegende Ursache herauszufinden. Die Fehlersuche innerhalb eines Service Mesh stellt die Entwicklung und den Betrieb regelmäßig vor große Herausforderungen. Ein Request kann auf unterschiedlichen Pfaden über mehrere Service-Aufrufe durch das Mesh traversieren. Dabei können Probleme an unterschiedlichen Stellen auftreten, wobei sich die Ursachenforschung insbesondere für Timeouts und Latenzprobleme ohne entsprechende Unterstützung sehr schwierig gestaltet. Auch das Aufspüren von Fehlerkaskaden ist ohne ein geeignetes Werkzeug kaum zu be...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang