Recomendaciones para ejecutar aplicaciones en OpenShift Service Mesh

 En esta publicaciĂłn, hemos reunido consejos y trucos que vale la pena explorar antes de migrar sus aplicaciones a OpenShift Service Mesh (OSSM). Si nunca antes ha encontrado Service Mesh, puede comenzar echando un vistazo a la página de OSSM en el sitio web de Red Hat y leyendo sobre cĂłmo se implementa Istio en la plataforma OpenShift .





Cuando empiece a explorar Istio, lo más probable es que se encuentre con la aplicaciĂłn bookinfo , que se utiliza casi universalmente como ayuda visual, o la versiĂłn más avanzada de la aplicaciĂłn Agencia de viajes  . Al analizar estos y otros ejemplos, puede comprender mejor cĂłmo funciona la malla y luego transferir sus aplicaciones a ella.





Lo primero es lo primero

Vale la pena comenzar con la documentaciĂłn oficial de OpenShift Service Mesh 2.0 (OSSM) , que contiene una tonelada de materiales Ăştiles, que incluyen:





  • Describe las diferencias entre OSSM y el proyecto principal de cĂłdigo abierto de Istio.





  • DescripciĂłn de cĂłmo instalar OSSM  y





  • PruĂ©belo con la aplicaciĂłn de muestra bookinfo .





  • Istio  v1.6  ( versiones archivadas ).





  • Kiali  v1.24  ( versiones archivadas ).





  • 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.





Solo hay conexiones TCP en el gráfico de Kiali
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