Istio auf mit Kubernetes Engine (OKE) erstellten Clustern verwenden
Erfahren Sie mehr über die Verwendung von Istio auf Clustern, die Sie mit der Kubernetes Engine (OKE) erstellt haben.
Istio ist ein plattformunabhängiges Open-Source-Service-Mesh, das Trafficmanagement, Policy-Durchsetzung und Telemetrieerfassung bietet. Istio wurde entwickelt, um die Kommunikation zwischen Microservices und Anwendungen zu verwalten. Istio verwendet Envoy-Proxies, die als Sidecars für die zugrunde liegenden Services eingesetzt werden, um den gesamten eingehenden und ausgehenden Traffic für alle Services im Service Mesh zu vermitteln. Ohne Änderungen an den zugrunde liegenden Services zu erfordern, bietet Istio eine automatisierte Baseline-Trafficresilienz, Service-Metrikerfassung, verteiltes Tracing, Traffic-Verschlüsselung, Protokollupgrades und erweiterte Routingfunktionalität für die gesamte Service-to-Service-Kommunikation.
Istio verwendet Ingress- und Egress-Gateways, um Load Balancer zu konfigurieren, die an der Edge eines Service-Meshs ausgeführt werden. Istio-Ingress-Gateways werden mit Kubernetes Gateway- und VirtualService-Ressourcen implementiert und bieten eine konsistente, leistungsstarke Trafficmanagementschicht für alle Services im Service-Mesh. Ein Ingress-Gateway ist ein einzelner Einstiegspunkt in das Service-Mesh, über den alle eingehenden HTTP- und HTTPS-Anforderungsverkehrsflüsse geleitet werden. Das Ingress-Gateway leitet Traffic basierend auf der Anforderung an den entsprechenden Service weiter. Ebenso definiert ein Egress-Gateway Ausgangspunkte aus dem Service-Mesh.
Weitere Informationen zu Istio finden Sie in der Dokumentation zu Istio.
Sie können Istio auf zwei Arten in einem Kubernetes-Cluster bereitstellen:
- als eigenständiges Programm (siehe Arbeiten mit Istio als eigenständiges Programm)
- als Cluster-Add-on (siehe Arbeiten mit Istio als Cluster-Add-on)
Beachten Sie, dass Service-Mesh-Produkte (wie Istio und Linkerd) unterstützt werden, wenn das OCI VCN-native Pod Networking-CNI-Plug-in für Podnetworking verwendet wird. Mit Ausnahme des Istio-Add-ons ist der Support derzeit auf Oracle Linux 7 beschränkt (Oracle Linux 8-Support ist geplant). Das Istio-Add-on wird sowohl mit Oracle Linux 7 als auch mit Oracle Linux 8 unterstützt. Worker-Knoten müssen Kubernetes 1.26 (oder höher) ausführen.
Sie können Istio mit verwalteten Knotenpools verwenden, jedoch nicht mit virtuellen Knotenpools.
Kubernetes-Gateway-API verwenden
Die Gateway-API ist ein offizielles Kubernetes-Projekt, das sich darauf konzentriert, API-Ressourcen für Layer-4-Routing (L4) und Layer-7-Routing (L7) in Kubernetes bereitzustellen. Die Gateway-API stellt die nächste Generation von Kubernetes-Ingress-, Load Balancing- und Service-Mesh-APIs dar.
Kubernetes Engine unterstützt die Installation der benutzerdefinierten Ressourcendefinitionen der Gateway-API (CRDs), sofern Sie die Anweisungen in der Dokumentation Erste Schritte mit der Gateway-API befolgen. Beispiel: Um den Standardkanal zu installieren, verwenden Sie den folgenden Befehl:
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yamlNach der Installation der Gateway-API-CRDs können Sie Istio entweder als Standalone-Programm oder als Cluster-Add-on verwenden, um die Unterstützung der Gateway-API zu nutzen. Neben der Unterstützung für Kubernetes-Ingress-Ressourcen können Sie mit Istio Ingress-Traffic mit Gateway-API-Gatewayressourcen konfigurieren. Gateways bieten eine umfangreichere Anpassung und Flexibilität als Ingress-Ressourcen, sodass Istio-Features wie Überwachungs- und Routingregeln auf den Traffic angewendet werden können, der in das Cluster eintritt.
In der Istio-Dokumentation wird beschrieben, wie die Gateway-API mit Istio verwendet wird. Wenn Sie ein Gateway mit Istio als Implementierung definieren, müssen Sie die Eigenschaft gatewayClassName auf istio setzen. Beispiel:
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: example-gateway
spec:
gatewayClassName: istioWeitere Informationen zur Konfiguration von Gateways und zur Verwendung erweiterter Istio-Features mit der Gateway-API finden Sie unter Kubernetes-Gateway-API in der Istio-Dokumentation und in der Gateway-API-Dokumentation.