Service-Mesh: Kuma und Kong Mesh 2.2 öffnen sich für OpenTelemetry
Erweiterte Funktionen für das Rate-Limiting sowie für Logging und Tracing zeichnen Version 2.2 von Kong Mesh und Kuma aus.
Das Softwareunternehmen Kong Inc. hat sein Open-Source-Service-Mesh Kuma sowie das darauf aufbauende Enterprise-Produkt Kong Mesh auf Version 2.2 aktualisiert. Laut Ankündigung wurden dabei von Anwenderinnen und Anwendern schon lange gewünschte Features integriert, darunter eine Policy für das Global Rate Limiting sowie die Option, einen OpenTelemetry-Kollektor für Traces und Zugriffs-Logs zu nutzen.
Dienste-Aufrufe auch in Multizonen-Installationen begrenzen
Das neue Minor Release liefert neben Fehlerbereinigungen auch einige Verbesserungen, die vor allem zu mehr Flexibilität, Skalierbarkeit und Sicherheit beim Einsatz des Service-Meshs beitragen sollen. Darüber hinaus legt das Kong-Entwicklungsteam aber auch neue Funktionen wie etwa eine Policy für das Global Rate Limiting vor. Bisher standen nur Richtlinien für ein RateLimit zur Verfügung, die über den Inbound Listener auf einzelne lokale Services beschränkt waren. In Version 2.2 lassen sich nun auch übergreifende Begrenzungen definieren, die Aufrufe an alle kombinierten Instanzen eines Dienstes beschränken – beispielsweise in Multizonen-Installationen mit externen Redis-Stores. Details zu Einsatz und Konfiguration der MeshGlobalRateLimit-Policy, die als Betafunktion noch dem Kong Mesh vorbehalten ist, lassen sich der Dokumentation entnehmen.
Auf tatkräftige Unterstützung aus der Community geht laut Ankündigung eine weitere wichtige Neuerung für die MeshAccessLog- und MeshTrace-Richtlinien zurück: Für beide lässt sich ab sofort ein OpenTelemetry-Kollektor als Ziel definieren, sobald ein OpenTelemetry-Backend nach dem Muster im folgenden Listing eingerichtet wurde.
apiVersion: kuma.io/v1alpha1
kind: MeshAccessLog
metadata:
name: default
namespace: kong-mesh-system
labels:
kuma.io/mesh: default
spec:
targetRef:
kind: Mesh
from:
- targetRef:
kind: Mesh
default:
backends:
- file:
path: /tmp/access.log
format:
plain: '[%START_TIME%]'
- openTelemetry:
endpoint: otel-collector:4317
attributes:
- key: "start_time"
value: "%START_TIME%"
Im Hinblick auf Hochverfügbarkeit und mehr Resilienz in Kubernetes-Deployments können Anwenderinnen und Anwender von Kong Mesh und Kuma ab Version 2.2 nicht mehr nur etcd als Persistenzebene für Policy- und Konfigurations-Objekte einbinden, sondern alternativ auch eine externe Postgres-Datenbank verwenden. Fortgeführt hat das Kong-Team zudem die schrittweise Überarbeitung des UI des Service-Meshs, insbesondere die Navigationsseitenleiste, sowie den Bereich Role-Based Access Control, in dem nun vorhandene Rollen und deren Bindungen einfacher zu erkennen sein sollen.
Weiterführende Informationen finden sich im Blogeintrag auf der Kong-Website sowie im Changelog von Kong Mesh.
(map)