In diesem Beitrag gibt Autor Thomas Joos* einige Tipps, die den Betrieb von „Istio“ in produktiven Umgebungen verbessern oder die Verwaltung vereinfachen können. Dazu gehören eine effektive Überwachung der Pods und deren Netzwerkaktivitäten.
Voll vermascht: Das Open-Source-Tool „Istio“ von der Open Infrstructure Foundation (urpsrünglich OpenStack Foundation) ermöglicht das. Thomas Joos gibt ein paar Tipps zur Handhabung.
(Bild: Richard Revel auf Pixabay)
Dieser Beitrag gibt verschiedene Tipps, mit denen ein Service-Mesh besser mit Kubernetes zusammenarbeiten und die Microservices/Container wesentlich stabiler und schneller laufen; anders gesagt: Es geht um den Betrieb von Istio als Service-Mesh in Kubernetes.
Die Installation von Istio in aller Kürze
Die grundsätzliche Installation von Istio auf einem Kubernetes-Cluster ist nicht sehr kompliziert. Der Download der aktuellen Version erfolgt mit:
curl -L https://istio.io/downloadIstio | sh -
Danach erfolgt ein Wechsel in das Verzeichnis, zum Beispiel mit:
cd istio-1.10.2
Danach muss das bin-Directory zum Pfad in Linux hinzugefügt werden. Der Pfad ist im Terminal zu sehen. Der Befehl zum Hinzufügen sieht zum Beispiel folgendermaßen aus:
export PATH=$PWD/bin:$PATH
Danach erfolgt die Installation mit:
istioctl install --set profile=demo -y
Das Bereitstellen von einer Beispielanwendung
Für die Einarbeitung in Istio oder dem Testen von Einstellungen, kann es sinnvoll sein, die Testanwendungen von Istio in Kubernetes zu integrieren. Die Installation der Anwendungen und deren anschließender Anzeige erfolgt mit den Befehlen:
kubectl apply -f sample/bookinfo/platform/kube/bookinfo.yamlkubectl get services
Das Aktivieren von Istio für einen Namensraum das Prüfen der Synchronisierung
Um Istio für einen Namensraum in Kubernetes mit einem schnellen Befehl zu aktivieren, lässt sich folgender Befehl nutzen:
Ob die Pods erfolgreich synchronisiert sind, zeigt wiederum der folgende Befehl an:
istioctl proxy-status
Das Überwachen des Datenverkehrs von Pods: Fehlersuche und Optimierung
Mit dem Kubectl-Plugin ksniffist es zusammen mit Wireshark möglich den Datenverkehr möglich den Datenverkehr auf den verschiedenen Pods aufzuzeichnen und anschließend zu analysieren. Die beiden Tools sind Open Source, genauso wie Istio.
Durch die Kombination von ksniff und Wireshark lässt sich die Netzwerkaktivität zwischen den Pods und damit den einzelnen Microservices genau analysieren. Das hilft nicht nur bei der Optimierung der Umgebung, sondern auch bei der Fehlersuche.
Dazu nutzt ksniff kubectl, um ein tcpdump-Binary in den überwachten Pod zu integrieren. Die Ausgabe des Binaries leitet ksniff an die Wireshark-Instanz des Admins um. Die Installation kann über krew erfolgen:
Seit Version 1.10 schickt „Envoy“ die Daten zu „eth0“, nicht mehr zu „lo“. Her kann es passieren, dass auf einigen Pods Änderungen notwendig sind. Ob das der Fall ist, kann mit dem folgenden Befehl überprüft werden:
istioctl experimental precheck
Die notwendigen Konfigurationen und Fehler behandeln die Entwickler auf der Seite „LocalhostListener (IST0143)“.
Istio, ab Version 1.10.2, nutzen in großen Installationen: Discovery Selectors
In neueren Versionen des zweiten Halbjahres haben die Entwickler von Istio Funktionen integriert, die vor allem für große Umgebungen interessant sind. Mit „Discovery Selectors“ lassen sich Ressourcen im Cluster bündeln, die Istio verwalten/überwachen soll. Standardmäßig überwacht Istio alle Kubernetes-Ressourcen aus allen Namespaces im Cluster. Das ist in großen Clustern natürlich selten sinnvoll.
Istio lässt sich mit Istioctl im Linux-Terminal konfigurieren.
(Bild: Thomas Joos)
Damit die Istio-Controlplane nur Ressourcen fest definierten Namespaces verarbeitet, haben die Entwickler mit der Version 1.10 in Istio die Discovery Selectors eingeführt. Die neue Option „discoverySelectors“ in MeshConfig bietet ein Array von Kubernetes-Selektoren ist.
Hier lassen sich Namespaces explizit ein- oder ausschließen. Das bietet wiederum flexible Steuermöglichkeiten. Die Konfiguration sieht zum Beispiel folgendermaßen aus:
istioctl install --skip-confirmation -f - <<EOFapiVersion: install.istio.io/v1alpha1kind: IstioOperatormetadata:namespace: istio-systemspec:# You may override parts of meshconfig by uncommenting the following lines.meshConfig: discoverySelectors: - matchLabels: istio-discovery: enabledEOFkubectl label namespace default istio-discovery=enabled
Das Schließen der kritischen Sicherheitslücke ISTIO-SECURITY-2021-007
Mit Version 1.10.2 schließen die Entwickler außerdem die Sicherheitslücke „ISTIO-SECURITY-2021-007“. Dabei ist es Angreifern aus der Ferne möglich auf Anmeldenamen zuzugreifen, die in den Feldern „Gateway“ und „DestinationRule credentialName“ gespeichert sind. Die Lücke ist in allen Versionen von Istio, bis hin zu 1.10.1 enthalten. Die Aktualiserung zu 1.10.2 schließt diese Lücke.
Generell sollte die gleiche Version von Istioctl zum Einsatz kommen, wie bei der Control Plane. Die installierte Version ist mit dem folgenden Befehl zu sehen:
istioctl version --remote=false
Ob Isitio im Cluster erfolgreich installiert ist, kann mit dem folgenden Befehl überprüft werden:
istioctl verify-install
Erscheint eine Fehlermeldung sollte die Installation wiederholt werden. Die Authentifizierung lässt sich wiederum mit dem folgenden Befehl überprüfen:
Istioctl autn tls-check my-pod
Kiali - Service Mesh Management for Istio
Bei „Kiali“ handelt es sich um eine Verwaltungsoberfläche für Istio. Mit Kiali lassen sich zum Beispiel die Fragen „Welche Microservices sind Teil meines Istio-Dienstnetzes?“ und „Wie sind sie verbunden?“ beantworten.
Die Lösung bietet Dashboards und verschiedene Einsichten in das Mesh. Auch die Struktur und der Traffic lassen sich mit den Dashboards überwachen. Dazu gehören auch Metriken und Validierungen. Kiali arbeitet außerdem mit Grafaga und Jaeger zusammen. Die Installation kann über kubectl mit dem folgenden Befehl erfolgen:
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Die Dashboards lassen sich wiederum mit istioctl aufrufen:
istioctl dashboard kiali
* Der IT-Berater Thomas Joos schreibt Fachartikel und Fachbücher; auf DataCenter-Insider füllt er seinen eigenen Blog mit Tipps und Tricks für Amins: „Toms Admin-Blog“