Empfehlungen zum AusfĂŒhren von Anwendungen in OpenShift Service Mesh

 In diesem Beitrag haben wir Tipps und Tricks zusammengestellt, die es wert sind, untersucht zu werden, bevor Sie Ihre Apps auf das OpenShift Service Mesh (OSSM) migrieren. Wenn Sie noch nie auf Service Mesh gestoßen sind, können Sie zunĂ€chst auf der OSSM-Seite auf der Red Hat-Website nachlesen, wie Istio auf der OpenShift-Plattform implementiert ist .





Wenn Sie anfangen, Istio zu erkunden, werden Sie höchstwahrscheinlich auf die Bookinfo- Anwendung stoßen , die fast ĂŒberall als visuelle Hilfe verwendet wird, oder auf die fortgeschrittenere Version der ReisebĂŒro- Anwendung  . Wenn Sie diese und andere Beispiele analysieren, können Sie besser verstehen, wie das Mesh-Mesh funktioniert, und dann Ihre Anwendungen darauf ĂŒbertragen.





Das wichtigste zuerst

Es lohnt sich, mit der offiziellen Dokumentation zu OpenShift Service Mesh 2.0 (OSSM) zu beginnen , die eine Menge nĂŒtzlicher Materialien enthĂ€lt, darunter:





  • Beschreibt die Unterschiede zwischen OSSM und dem ĂŒbergeordneten Istio Open Source-Projekt.





  • Beschreibung der Installation von OSSM  und





  • Testen Sie es mit der Beispielanwendung bookinfo .





  • Istio  v1.6  ( archivierte Versionen ).





  • Kiali  v1.24  ( archivierte Versionen ).





  • Jaeger  1,20 .





mesh-, Istio. release notes , Red Hat OSSM.





, mesh- - Bookinfo. , .





, mesh- – , sidecar’ Envoy pod’ . OSSM .





, , ingress- Bookinfo, , OpenShift, .





, Istio , . , Protocol Selection app and version labels  Pods and Services.





. , sidecar’ Istio, Kiali. , (. ). ? Kiali Istio , , TCP, HTTP.





Im Kiali-Diagramm gibt es nur TCP-Verbindungen
Kiali TCP-

Istio , . Istio , (plain) TCP. - , Kubernetes Service . , Protocol Selection.





, , Kubernetes Service. spec -> ports -> name. "name: http" A, B C, HTTP.





Kiali

Kiali – , OpenShift Service Mesh. , , mesh-.





Kiali , Istio, , mesh-. Kiali.





Kiali , , mesh-. Istio , Kiali .





Kiali , FAQ. , :





  •  





  •  





  • sidecar’ 





  • Kiali 





– (label). Istio, Kiali, , , , - Bookinfo, « ».





app version – , , Istio Kiali Jaeger.





Istio , . , . , .





Kiali – , mesh-, , .





Kiali . , , .





Jaeger-

mesh- , , , 50%, , 100%, , . Jaeger Kiali , .





, , sample rate 100% ( : 10000 = 100%). 





ServiceMeshControlPlane ( basic-install) Control Plane ( istio-system) :





spec:
  tracing:
    sampling: 10000 # 100%
      
      



, .





Jaeger , , (trace headers).





, ( ) mesh-. OSSM span’ (trace). , . , span – (, «-»). – , , mesh-, , , , . – – OSSM.





, OSSM span’ ( ) Istio, – . (distributed traces) , , trace- . , . , Envoy-, ( ingress-).





:





  • x-request-id





  • x-b3-traceid





  • x-b3-spanid





  • x-b3-parentspanid





  • x-b3-sampled





  • x-b3-flags





  • x-ot-span-context





Jaeger, OpenTracing API.





trace- Java:





HttpHeaders upstreamHttpHeaders = new HttpHeaders();
if (downstreamHttpHeaders.getHeader(headerName: "x-request-id") != null)
   upstreamHttpHeaders.set("x-request-id", downstreamHttpHeaders.getHeader( headerName: "x-request-id"));
      
      



: .





Kiali YAML





yaml- – , yaml , . , Kiali , .





Istio- Kiali-





, , Kiali, Services.





YAML-





Kiali YAML Istio , .





, Kiali ( ) . , Kiali . , , , . , "node=unknown" Kiali.





/ ( ) TLS , mesh- HTTP . Envoy-.





TLS, Istio Kiali TCP.





, HTTP, HTTPS.





mesh- (. « »).





.





Service Mesh , , - . , :





  • , HTTPS-.





  • .





  • .





  • , mesh- . , -. :





    1. sidecar’ Envoy ( pod’).





    2. sidecar’ sidecar’ Envoy, pod’ .





    3. , sidecar’, , . , , , . .





– () , , mesh-.





Service

, Kubernetes Service, OpenShift Routes.





, OpenShift Routes ( ingress ) . mesh-, / , OpenShift Route Kubernetes Service.





(fallback)

, , -. Envoy- , , , . (fallback), , , Envoy- .





Envoy- , , mesh-.





, mesh-. mesh- , , ? . Service Mesh .





OSSM. , Istio Kiali, TLS origination  egress-.





Istio, :





  1. ( , Mutual TLS).





  2. .





  3. Circuit breaker’.





  4. .





OpenShift Service Mesh , mesh-, , , , . OpenShift, , . – , , , , A/B- .. , OpenShift, . , , .








All Articles