OpenShift ServiceMeshでアプリケーションを実行するための推奨事項

 この投稿では、アプリをOpenShift Service Mesh(OSSM)に移行する前に、検討する価値のあるヒントとコツをまとめました。これまでにServiceMeshに遭遇したことがない場合は、Red Hat WebサイトのOSSMページをて、OpenShiftプラットフォームにIstioがどのように実装されているかを読むことから始めることができます





あなたがIstioを探索を開始するとき、あなたが最も可能性の高い出くわすのBookInfoのアプリケーションほぼ普遍視覚補助、またはより高度なバージョンとして使用され、旅行代理店のアプリケーション 。これらの例や他の例を分析することで、メッシュメッシュがどのように機能するかをよりよく理解し、アプリケーションをメッシュメッシュに転送できます。





まず最初に

OpenShift Service Mesh 2.0(OSSM)公式ドキュメントから始める価値があります。このドキュメントには、次のような多くの有用な資料が含まれています。





  • OSSMと親Istioオープンソースプロジェクトの違いについて説明します。





  • OSSMのインストール方法の説明 と





  • bookinfoサンプルアプリケーションでテストします





  • Istio  v1.6  (アーカイブバージョン)。





  • Kiali  v1.24  (アーカイブバージョン)。





  • イエーガー 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.





KialiグラフにはTCP接続のみがあります
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