{"id":54208,"date":"2019-12-20T00:00:00","date_gmt":"2019-12-19T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/seriya-postov-po-istio-service-mesh"},"modified":"2020-02-18T14:02:12","modified_gmt":"2020-02-18T11:02:12","slug":"seriya-postov-po-istio-service-mesh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/seriya-postov-po-istio-service-mesh","title":{"rendered":"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Wir beginnen eine Reihe von Posts, in denen wir einige der zahlreichen M\u00f6glichkeiten des Istio Service Mesh in Kombination mit Red Hat OpenShift und Kubernetes demonstrieren werden.<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/b7cc06e1451763db78fdf84764af4b69.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nErster Teil, heute: <\/p>\n<ul>\n<li>Wir erkl\u00e4ren das Konzept der Sidecar-Container in Kubernetes und formulieren das Leitmotiv dieser Post-Serie: <b>\u201eSie m\u00fcssen nichts an Ihrem Code \u00e4ndern\u201c<\/b>.<\/li>\n<li>Lassen Sie uns das grundlegende Element von Istio vorstellen \u2013 die Routing-Regeln. Darauf basieren alle anderen Funktionen von Istio, da diese Regeln es erm\u00f6glichen, den Verkehr zu Mikroservices zu leiten, wobei externe YAML-Dateien f\u00fcr die Dienste verwendet werden. Wir betrachten auch das Schema des Canary Deployments. Ein Neujahrsbonus \u2013 10 interaktive Kurse zu Istio.<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDer zweite Teil, der bald erscheinen wird, erz\u00e4hlt Ihnen: <\/p>\n<ul>\n<li>Wie Istio Pool Ejection in Verbindung mit Circuit Breaker implementiert und zeigt, wie Istio einen nicht funktionierenden oder schlecht funktionierenden Pod aus dem Load-Balancing-Schema entfernen kann.<\/li>\n<li>Au\u00dferdem werden wir das Thema Circuit Breaker aus dem ersten Post betrachten, um zu sehen, wie Istio hier eingesetzt werden kann. Wir zeigen, wie man den Verkehr ohne geringste \u00c4nderungen im Code der Dienste routiert und Netzwerfehler mit YAML-Konfigurationsdateien und Terminalbefehlen behandelt.<\/li>\n<\/ul>\n<p>\nDritter Teil: <\/p>\n<ul>\n<li>Ein Bericht \u00fcber Tracing und Monitoring, die bereits in Istio integriert sind oder einfach hinzugef\u00fcgt werden k\u00f6nnen. Wir zeigen, wie man Tools wie Prometheus, Jaeger und Grafana in Verbindung mit der Skalierung von OpenShift nutzt, um die Verwaltung der Mikroservice-Architektur m\u00fchelos zu gestalten.<\/li>\n<li>Wir gehen von Monitoring und Fehlerbehandlung dazu \u00fcber, solche absichtlich ins System einzuf\u00fchren. Anders gesagt, wir lernen, Fault Injection ohne \u00c4nderungen am Quellcode durchzuf\u00fchren, was aus Testperspektive sehr wichtig ist \u2013 denn wenn man daf\u00fcr den Code \u00e4ndern muss, besteht das Risiko, zus\u00e4tzliche Fehler einzuf\u00fchren.<\/li>\n<\/ul>\n<p>\nSchlie\u00dflich, im letzten Post \u00fcber das Istio Service Mesh:<\/p>\n<ul>\n<li>Gehen wir zur Dunklen Seite \u00fcber. Genauer gesagt, wir lernen, das Dark Launch Schema zu nutzen, bei dem der Code direkt auf Produktionsdaten implementiert und getestet wird, ohne die Systemfunktionalit\u00e4t zu beeintr\u00e4chtigen. Hier ist es sehr n\u00fctzlich, dass Istio den Verkehr trennt. Und die M\u00f6glichkeit, Tests an echten Produktionsdaten durchzuf\u00fchren, ohne die Funktionsweise des Betriebssystems zu beeinflussen, ist der \u00fcberzeugendste Weg zur Validierung.<\/li>\n<li>Basierend auf dem Dark Launch zeigen wir, wie man das Canary Deployment-Modell nutzen kann, um Risiken zu minimieren und die Einf\u00fchrung neuer Codes zu vereinfachen. Das Canary Deployment selbst ist keineswegs neu, aber Istio erm\u00f6glicht diese Methode lediglich mit Hilfe einfacher YAML-Dateien.<\/li>\n<li>Abschlie\u00dfend zeigen wir, wie wir mit Istio Egress den Zugriff auf Dienste f\u00fcr die Nutzer au\u00dferhalb Ihrer Cluster erm\u00f6glichen, um die Vorteile von Istio bei der Arbeit mit dem Internet zu nutzen.<\/li>\n<\/ul>\n<p>\nLos geht's\u2026<\/p>\n<p><b>Die \u00dcberwachungs- und Verwaltungswerkzeuge von Istio \u2013 alles, was Sie f\u00fcr die Koordinierung von Microservices in einem Servicenetzwerk ben\u00f6tigen <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/service-mesh\/\">Service Mesh<\/a><\/noindex>.<\/b><\/p>\n<h3>Was ist das Istio Service Mesh?<\/h3>\n<p>\nDas Service Mesh bietet einer Gruppe von Diensten Funktionen wie Verkehrs\u00fcberwachung, Zugriffskontrolle, Entdeckung, Sicherheit, Fehlertoleranz und viele andere n\u00fctzliche Dinge. Istio erm\u00f6glicht all dies, ohne geringste \u00c4nderungen am Code der Dienste selbst vorzunehmen. Was ist das Geheimnis? Istio f\u00fcgt jedem Dienst seinen Proxy in Form eines Sidecar-Containers hinzu (Sidecar \u2013 Beiwagen f\u00fcr Motorr\u00e4der), sodass der gesamte Verkehr zu diesem Dienst \u00fcber den Proxy l\u00e4uft, der basierend auf festgelegten Richtlinien entscheidet, wie, wann und ob dieser Verkehr den Dienst erreichen soll. Istio bietet auch die M\u00f6glichkeit, fortgeschrittene DevOps-Techniken wie Canary Deployments, Circuit Breakers, Fehlereinspritzung und viele andere umzusetzen.<\/p>\n<h3>Wie Istio mit Containern und Kubernetes funktioniert<\/h3>\n<p>\nDas Istio Service Mesh ist eine Sidecar-Implementierung alles dessen, was zur Erstellung und Verwaltung von Microservices erforderlich ist: \u00dcberwachung, Tracierung, Circuit Breakers, Routing, Lastverteilung, Fehlereinspritzung, Wiederholungen, Timeouts, Spiegelung, Zugriffskontrolle, Drosselung und vieles mehr. Und obwohl es heute viele Bibliotheken gibt, um diese Funktionen direkt im Code zu implementieren, k\u00f6nnen Sie mit Istio all das Gleiche erhalten, ohne Ihren Code zu \u00e4ndern.<\/p>\n<p>Entsprechend dem Sidecar-Modell wird Istio in einem Linux-Container ausgef\u00fchrt, der sich in einem <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\/\">Kubernetes<\/a><\/noindex>-Pod mit dem kontrollierten Dienst befindet und Funktionalit\u00e4ten sowie Informationen gem\u00e4\u00df der festgelegten Konfiguration injiziert (inject) und extrahiert (extract). Wir betonen, dass dies Ihre eigene Konfiguration ist, die unabh\u00e4ngig von Ihrem Code lebt. Daher wird der Code erheblich einfacher und k\u00fcrzer.<\/p>\n<p>Was ebenfalls wichtig ist, ist, dass die operative Komponente von Mikrodiensten in keiner Weise mit dem Code selbst verbunden ist, was bedeutet, dass ihre Betrieb an IT-Spezialisten \u00fcbertragen werden kann. Tats\u00e4chlich, warum sollte ein Entwickler f\u00fcr Circuit Breaker und Fault Injection verantwortlich sein? Reagieren \u2013 ja, aber sie zu verarbeiten und zu erstellen? Wenn all dies aus dem Code entfernt wird, k\u00f6nnen sich Programmierer vollst\u00e4ndig auf die Anwendungsfunktionalit\u00e4t konzentrieren. Und der Code selbst wird k\u00fcrzer und einfacher.<\/p>\n<h3>Service-Mesh<\/h3>\n<p>\nIstio, das Funktionen zur Verwaltung von Mikrodiensten au\u00dferhalb ihres Codes implementiert \u2013 das ist das Konzept des Service-Mesh. Anders gesagt, es handelt sich um eine koordinierte Gruppe von einer oder mehreren Bin\u00e4rdateien, die ein Netzwerk von Netzwerkfunktionen bilden.<\/p>\n<h3>Wie Istio mit Mikrodiensten arbeitet<\/h3>\n<p>\nSo sieht die Arbeit der Sidecar-Container in Verbindung mit <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\/\">Kubernetes<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openshift.org\/minishift\/\">Minishift<\/a><\/noindex> aus der Vogelperspektive aus: Sie starten eine Instanz von Minishift, erstellen ein Projekt f\u00fcr Istio (nennen wir es \u201eistio-system\u201c), installieren und starten alle mit Istio verbundenen Komponenten. Dann, w\u00e4hrend Sie Projekte und Pods erstellen, f\u00fcgen Sie Konfigurationsdetails in Ihre Deployments ein, und Ihre Pods beginnen, Istio zu verwenden. Vereinfacht dargestellt sieht das Diagramm so aus:<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/feb36ba35442307a8136c395ccae4fd2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Jetzt k\u00f6nnen Sie die Einstellungen von Istio \u00e4ndern, um beispielsweise Fault Injection, Unterst\u00fctzung <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/blog\/2017\/0.1-canary.html\">Canary Deployment<\/a><\/noindex> oder andere Funktionen von Istio zu organisieren \u2013 und das alles ohne den Code der Anwendungen zu ber\u00fchren. Angenommen, Sie m\u00f6chten den gesamten Webverkehr von den Nutzern Ihres gr\u00f6\u00dften Kunden (Foo Corporation) auf die neue Version der Website umleiten. Dazu reicht es aus, eine Istio-Routenregel zu erstellen, die nach @foocorporation.com im Benutzeridentifikator sucht und die entsprechende Umleitung vornimmt. F\u00fcr alle anderen Benutzer \u00e4ndert sich nichts. Und in der Zwischenzeit k\u00f6nnen Sie die neue Version der Website in Ruhe testen. Und beachten Sie, dass daf\u00fcr keine Entwickler hinzugezogen werden m\u00fcssen.<\/p>\n<h3>Und muss daf\u00fcr teuer bezahlt werden?<\/h3>\n<p>\nKeineswegs. Istio arbeitet ziemlich schnell, es ist in <noindex><a rel=\"nofollow\" href=\"https:\/\/golang.org\/\">Go<\/a><\/noindex> und erzeugt nur sehr geringen Overhead. Au\u00dferdem wird ein m\u00f6glicher Verlust an Online-Leistung durch einen Anstieg der Entwicklerproduktivit\u00e4t ausgeglichen. Zumindest in der Theorie: Vergessen Sie nicht, dass die Zeit der Entwickler kostbar ist. Was die Softwarekosten angeht, so ist Istio eine Open-Source-Software, die kostenlos erh\u00e4ltlich ist und verwendet werden kann.<\/p>\n<h3>Eigne dir selbst an<\/h3>\n<p>\nDas Red Hat Developer Experience Team hat ein tiefgehendes praktisches <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">Anleitung<\/a><\/noindex> zu Istio (in Englisch) entwickelt. Es funktioniert auf Linux, MacOS und Windows, und der Code ist in Varianten f\u00fcr Java und Node.js verf\u00fcgbar.<\/p>\n<h3>10 interaktive Einheiten zu Istio<\/h3>\n<p><\/p>\n<h4>Block 1 \u2014 F\u00fcr Anf\u00e4nger<\/h4>\n<p>\n<b>Einf\u00fchrung in Istio<\/b><br \/>\n30 Minuten <br \/>\nWir lernen die Service Mesh kennen und installieren Istio im OpenShift Kubernetes-Cluster.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/istio-introduction\/\">Starten<\/a><\/noindex> <\/p>\n<p><b>Bereitstellung von Microservices in Istio<\/b><br \/>\n30 Minuten<br \/>\nWir nutzen Istio, um drei Microservices mit Spring Boot und Vert.x bereitzustellen.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/deploy-microservices\/\">Starten<\/a><\/noindex> <\/p>\n<h4>Block 2 \u2013 Mittleres Niveau <\/h4>\n<p>\n<b>Monitoring und Tracing in Istio<\/b><br \/>\n60 Minuten <br \/>\nWir untersuchen die integrierten Monitoring-Tools von Istio, konfigurierbare Metriken sowie OpenTracing \u00fcber Prometheus und Grafana.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/monitoring-tracing\/\">Starten<\/a><\/noindex> <\/p>\n<p><b>Einfache Routensteuerung in Istio<\/b><br \/>\n60 Minuten <br \/>\nWir lernen, die Routingsteuerung in Istio mit einfachen Regeln zu verwalten.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/simple-route-rules\/\">Starten <\/a><\/noindex><\/p>\n<p><b>Erweiterte Routingregeln<\/b><br \/>\n60 Minuten <br \/>\nWir lernen die intelligente Routensteuerung in Istio, Zugriffsmanagement, Lastenverteilung und Ratenbegrenzung kennen.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/advanced-routerules\/\">Starten<\/a><\/noindex> <\/p>\n<h4>Block 3 \u2013 Fortgeschrittene Benutzer<\/h4>\n<p>\n<b>Fehlereinspeisung in Istio<\/b><br \/>\n60 Minuten <br \/>\nWir untersuchen die Szenarien zur Fehlerbehandlung in verteilten Anwendungen, indem wir HTTP-Fehler und Netzwerkverz\u00f6gerungen erzeugen und Chaos-Engineering f\u00fcr die Wiederherstellung der Umgebung anwenden.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/fault-injection\/\">Starten<\/a><\/noindex> <\/p>\n<p><b>Circuit Breaker in Istio<\/b><br \/>\n30 Minuten <br \/>\nWir installieren Siege f\u00fcr das Lasttest von Websites und lernen, die Ausfallsicherheit des Backends mit Wiederholungen, Circuit Breaker und Pool-Ejection sicherzustellen.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/circuit-breaker\/\">Starten<\/a><\/noindex> <\/p>\n<p><b>Egress und Istio<\/b><br \/>\n10 Minuten <br \/>\nWir verwenden Egress-Routen, um Regeln f\u00fcr die Interaktion interner Dienste mit externen APIs und Diensten zu erstellen.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/egress\/\">Starten<\/a><\/noindex> <\/p>\n<p><b>Istio und Kiali<\/b><br \/>\n15 Minuten <br \/>\nWir lernen, Kiali zu nutzen, um einen Gesamt\u00fcberblick \u00fcber das Service Mesh zu erhalten und die Anfragen- und Datenstr\u00f6me zu analysieren.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/observe-kiali\/\">Starten<\/a><\/noindex> <\/p>\n<p>Mutual TLS in Istio<br \/>\n15 Minuten <br \/>\nWir erstellen ein Istio-Gateway und einen VirtualService und untersuchen dann detailliert Mutual TLS (mTLS) und dessen Konfigurationen.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/courses\/service-mesh\/mtls\/\">Starten<\/a><\/noindex> <\/p>\n<h4>Block 3.1 \u2014 Vertiefung: Istio Service Mesh f\u00fcr Microservices<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/1a2bb62b0bbd46fa9b42be1ccbfddfa6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWor\u00fcber das Buch handelt:<\/p>\n<ul>\n<li>Was ist ein Service Mesh.<\/li>\n<li>Das System Istio und seine Rolle in der Microservices-Architektur.<\/li>\n<li>Einsatz von Istio zur L\u00f6sung folgender Aufgaben:\n<ul>\n<li>Ausfallsicherheit;<\/li>\n<li>Routing;<\/li>\n<li>Chaos-Testing;<\/li>\n<li>Sicherheit;<\/li>\n<li>Die Erfassung von Telemetriedaten mit Hilfe von Traceing, Metriken und Grafana.<\/li>\n<\/ul>\n<p>\n <\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/books\/introducing-istio-service-mesh-microservices\/\">Buch herunterladen<\/a><\/noindex><\/p>\n<h3>Serie von Artikeln zu Service Meshes und Istio<\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/03\/13\/istio-route-rules-service-requests\/\">Routing-Regeln in Istio: wir leiten Service-Anfragen dorthin, wo sie gebraucht werden<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/03\/20\/istio-circuit-breaker-pool-ejection\/\">Circuit Breaker in Istio: wir behandeln Pool Ejection<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/03\/27\/istio-circuit-breaker-when-failure-is-an-option\/\">Circuit Breaker in Istio: wenn Ausfall eine Option ist<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/04\/03\/istio-tracing-monitoring\/\">Tracing und Monitoring in Istio: wohin alles geht und wie schnell<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/04\/10\/istio-chaos-engineering\/\">Chaos-Engineering in Istio: So war es geplant<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/04\/17\/istio-dark-launch-secret-services\/\">Dark Launch in Istio: geheime Dienste<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/04\/24\/istio-smart-canary-launch\/\">Canary Deployment in Istio: Vereinfachung des Rollouts<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/blog\/2018\/05\/01\/istio-egress-exit-through-the-gift-shop\/\">Istio Egress: Der Ausgang \u00fcber den Souvenirladen<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3>Versuchen Sie es selbst<\/h3>\n<p>\nDiese Reihe von Beitr\u00e4gen verfolgt nicht das Ziel, tief in die Welt von Istio einzutauchen. Wir m\u00f6chten Sie lediglich mit dem Konzept vertraut machen und vielleicht dazu anregen, Istio selbst auszuprobieren. Das kann v\u00f6llig kostenlos geschehen, und Red Hat stellt alle notwendigen Werkzeuge zur Verf\u00fcgung, um OpenShift, Kubernetes, Linux-Container und Istio zu erlernen, darunter: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openshift.com\/products\/container-platform\/trial\/\">Red Hat Developer OpenShift Container Platform<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">unser Leitfaden zu Istio<\/a><\/noindex> und weitere Ressourcen auf unserem <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/service-mesh\/\">Mikro-Website zum Service Mesh<\/a><\/noindex>. Z\u00f6gern Sie nicht, starten Sie noch heute!<\/p>\n<h3>Routing-Regeln in Istio: wir leiten Service-Anfragen dorthin, wo sie gebraucht werden<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/products\/openshift\/overview\/\">OpenShift<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\/\">Kubernetes<\/a><\/noindex> bew\u00e4ltigen hervorragend die Aufgabe, Anfragen an <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/microservices\/\">Mikrodienste<\/a><\/noindex> an die richtigen Pods weiterzuleiten. Das ist eines der Ziele von Kubernetes \u2013 Routing und Lastenverteilung. Was ist jedoch, wenn Sie eine feinere und ausgefeiltere Routing-L\u00f6sung ben\u00f6tigen? Zum Beispiel, um gleichzeitig zwei Versionen eines Mikrodienstes zu verwenden. Wie k\u00f6nnen hier die Istio Routing-Regeln helfen?<\/p>\n<p>Routing-Regeln sind die Regeln, die festlegen, wie eine Route ausgew\u00e4hlt wird. Unabh\u00e4ngig vom Schwierigkeitsgrad des Systems bleibt der grundlegende Arbeitsprinzip dieser Regeln einfach: Anfragen werden basierend auf bestimmten Parametern und HTTP-Headerwerten weitergeleitet. <br \/>\nSehen wir uns Beispiele an: <\/p>\n<h3>Kubernetes Standard: trivialer \u201e50 zu 50\u201c<\/h3>\n<p>\nIn unserem Beispiel zeigen wir, wie man in OpenShift gleichzeitig zwei Versionen eines Mikrodienstes verwenden kann, die wir v1 und v2 nennen. Jede Version l\u00e4uft in ihrem eigenen Kubernetes-Pod, und standardm\u00e4\u00dfig wird hier eine gleichm\u00e4\u00dfig balancierte Round-Robin-Routing (evenly balanced round robin routing) verwendet. Jeder Pod erh\u00e4lt seinen Anteil an Anfragen basierend auf der Anzahl der Instanzen seines Mikrodienstes, mit anderen Worten, der Replikate. Istio erm\u00f6glicht jedoch, dieses Gleichgewicht manuell zu \u00e4ndern.<\/p>\n<p>Angenommen, wir haben in OpenShift zwei Versionen unseres Empfehlungsdienstes bereitgestellt, recommendation-v1 und recommendation-v2.<br \/>\nIn Abbildung 1 ist zu sehen, dass, wenn jeder Dienst in einer Instanz dargestellt wird, die Anfragen gleichm\u00e4\u00dfig zwischen ihnen wechseln: 1-2-1-2-\u2026 So funktioniert das Routing von Kubernetes standardm\u00e4\u00dfig:<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/93b00e4845ba930ca4d718b59629377e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Gewichtete Verteilung zwischen den Versionen<\/h3>\n<p>\nIn Abb. 2 ist dargestellt, was passiert, wenn die Anzahl der Replikate des Dienstes v2 von eins auf zwei erh\u00f6ht wird (dies geschieht mit dem Befehl oc scale \u2014replicas=2 deployment\/recommendation-v2). Wie wir sehen, werden die Anfragen zwischen v1 und v2 jetzt im Verh\u00e4ltnis \"eins zu drei\" aufgeteilt: 1-2-2-1-2-2-\u2026:<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/a432b1cea0e297c99b041137d33fc107.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Version ignorieren mit Istio<\/h3>\n<p>\nIstio erm\u00f6glicht es, die Verteilung der Anfragen auf die gew\u00fcnschte Weise zu \u00e4ndern. Zum Beispiel kann der gesamte Datenverkehr nur an recommendation-v1 mit der folgenden Istio-YAML-Datei gesendet werden:<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/db4190d495fb6dcc7c50cb8d28a7ef58.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Hier sollten Sie auf Folgendes achten: Die Pods werden gem\u00e4\u00df den Labels ausgew\u00e4hlt. In unserem Beispiel verwenden wir das Label v1. Der Parameter \u201eweight: 100\u201c bedeutet, dass 100% des Datenverkehrs an alle Pods des Dienstes weitergeleitet werden, die das Label v1 haben.<\/p>\n<h3>Direktive Verteilung zwischen den Versionen (Canary Deployment)<\/h3>\n<p>\nDar\u00fcber hinaus kann der Datenverkehr mithilfe des Parameters Gewicht auf beide Pods gelenkt werden, wobei die Anzahl der Instanzen der Mikrodienste ignoriert wird, die in jedem von ihnen ausgef\u00fchrt werden. Zum Beispiel lenken wir hier direkt 90% des Datenverkehrs an v1 und 10% an v2:<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/1a28e76ea7d8306fbefecefaad34c931.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Getrennte Weiterleitung mobiler Benutzer<\/h3>\n<p>\nAbschlie\u00dfend zeigen wir, wie der Datenverkehr mobiler Benutzer gezielt an den Dienst v2 geleitet wird, w\u00e4hrend alle anderen an v1 geleitet werden. Dazu analysieren wir den Wert des user-agent im Anfrageheader mithilfe regul\u00e4rer Ausdr\u00fccke:<\/p>\n<p><img decoding=\"async\" alt=\"Im Jahr 2015 wurde ARIN (verantwortlich f\u00fcr die nordamerikanische Region) der erste Registrar, der den Pool von IPv4 ersch\u00f6pft hat.\" src=\"\/wp-content\/uploads\/2019\/12\/efab7f92a1bcfc7e23ae279de57c738e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Jetzt sind Sie an der Reihe<\/h3>\n<p>\nEin Beispiel mit regul\u00e4ren Ausdr\u00fccken zur Analyse von Headern sollte Sie dazu anregen, nach eigenen M\u00f6glichkeiten zur Anwendung von Istio-Routing-Regeln zu suchen. Zumal die M\u00f6glichkeiten hier sehr umfangreich sind, da Headerwerte im Anwendungscode gebildet werden k\u00f6nnen.<\/p>\n<h3>Und denken Sie daran, dass Ops, nicht Dev<\/h3>\n<p>\nAlles, was wir in den obigen Beispielen gezeigt haben, geschieht ohne geringste \u00c4nderungen am Anwendungscode, mit Ausnahme der F\u00e4lle, in denen spezielle Anfrageheader gebildet werden m\u00fcssen. Istio wird sowohl Entwicklern n\u00fctzlich sein, die es beispielsweise in der Testphase anwenden k\u00f6nnen, als auch IT-Betriebsfachleuten, die in der Produktion sehr davon profitieren werden.<\/p>\n<p>Also wiederhole ich das Leitmotiv dieser Beitragsreihe: <b>Sie m\u00fcssen nichts an Ihrem Code \u00e4ndern<\/b>. Es ist nicht erforderlich, neue Images zu erstellen oder neue Container zu starten. All das wird au\u00dferhalb des Codes realisiert.<\/p>\n<h3>Lassen Sie Ihrer Fantasie freien Lauf<\/h3>\n<p>\nStellen Sie sich vor, welche M\u00f6glichkeiten die Analyse von \u00dcberschriften mit regul\u00e4ren Ausdr\u00fccken er\u00f6ffnet. M\u00f6chten Sie Ihren gr\u00f6\u00dften Kunden auf eine spezielle Version Ihrer <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/microservices\/\">Mikroservices<\/a><\/noindex>? \u041b\u0435\u0433\u043a\u043e! \u041d\u0443\u0436\u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 Chrome? \u041d\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430! \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e \u043b\u044e\u0431\u043e\u0439 \u0435\u0433\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0435.<\/p>\n<h3>Versuchen Sie es selbst<\/h3>\n<p>\n\u00dcber Istio, Kubernetes und OpenShift zu lesen ist das eine, aber warum nicht alles selbst ausprobieren? Das Team <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/\">Red Hat Developer Program<\/a><\/noindex> hat einen detaillierten Leitfaden (auf Englisch) vorbereitet, der Ihnen hilft, diese Technologien so schnell wie m\u00f6glich zu erlernen. Das Handbuch ist ebenfalls zu 100 % Open Source, daher ist es \u00f6ffentlich zug\u00e4nglich. Die Datei funktioniert auf macOS, Linux und Windows, und der Quellcode ist in Varianten f\u00fcr Java und node.js verf\u00fcgbar (bald werden auch Versionen in anderen Sprachen folgen). \u00d6ffnen Sie einfach das entsprechende Git-Repository in Ihrem Browser. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">Red Hat Developer Demo<\/a><\/noindex>.<\/p>\n<h3>Im n\u00e4chsten Beitrag: Wir l\u00f6sen Probleme auf elegante Weise<\/h3>\n<p>\nHeute haben Sie gesehen, wozu die Istio-Routing-Regeln f\u00e4hig sind. Jetzt stellen Sie sich das Gleiche vor, aber in Bezug auf Fehlerbehandlung. Genau dar\u00fcber werden wir im n\u00e4chsten Beitrag sprechen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/481182\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441\u0435\u0440\u0438\u044e \u043f\u043e\u0441\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0441\u0435\u0442\u043a\u0438 Istio Service Mesh \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 Red Hat OpenShift \u0438 Kubernetes. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f, \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u044f\u044f: \u041e\u0431\u044a\u044f\u0441\u043d\u0438\u043c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e sidecar-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u043c \u043b\u0435\u0439\u0442\u043c\u043e\u0442\u0438\u0432 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e\u0441\u0442\u043e\u0432: \u00ab\u0432\u0430\u043c \u043d\u0435 \u043d\u0430\u0434\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u0441\u0432\u043e\u0435\u043c \u043a\u043e\u0434\u0435\u00bb. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u043e\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0449\u0443\u044e \u0432\u0435\u0449\u044c Istio \u2013 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u041d\u0430 \u043d\u0438\u0445 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54208","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441\u0435\u0440\u0438\u044e \u043f\u043e\u0441\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0441\u0435\u0442\u043a\u0438 Istio Service Mesh \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 Red Hat OpenShift \u0438 Kubernetes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/seriya-postov-po-istio-service-mesh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0435\u0440\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u043f\u043e Istio Service Mesh | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441\u0435\u0440\u0438\u044e \u043f\u043e\u0441\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0441\u0435\u0442\u043a\u0438 Istio Service Mesh \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 Red Hat OpenShift \u0438 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/seriya-postov-po-istio-service-mesh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-19T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:12+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Serie von Beitr\u00e4gen \u00fcber Istio Service Mesh | ProHoster","description":"Wir beginnen eine Reihe von Posts, in denen wir einige der zahlreichen M\u00f6glichkeiten des Istio Service Mesh in Kombination mit Red Hat OpenShift und Kubernetes demonstrieren werden.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/seriya-postov-po-istio-service-mesh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0435\u0440\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u043f\u043e Istio Service Mesh | ProHoster","og:description":"\u041c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441\u0435\u0440\u0438\u044e \u043f\u043e\u0441\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0441\u0435\u0442\u043a\u0438 Istio Service Mesh \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 Red Hat OpenShift \u0438 Kubernetes.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/seriya-postov-po-istio-service-mesh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-19T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:12+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54208","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 10:27:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:10:32","updated":"2026-01-24 10:27:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/54208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=54208"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/54208\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=54208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=54208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=54208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}