この投稿では、アプリをOpenShift Service Mesh(OSSM)に移行する前に、検討する価値のあるヒントとコツをまとめました。これまでにServiceMeshに遭遇したことがない場合は、Red Hat WebサイトのOSSMページを見て、OpenShiftプラットフォームにIstioがどのように実装されているかを読むことから始めることができます。
あなたがIstioを探索を開始するとき、あなたが最も可能性の高い出くわすのBookInfoのアプリケーションほぼ普遍視覚補助、またはより高度なバージョンとして使用され、旅行代理店のアプリケーション 。これらの例や他の例を分析することで、メッシュメッシュがどのように機能するかをよりよく理解し、アプリケーションをメッシュメッシュに転送できます。
まず最初に
OpenShift Service Mesh 2.0(OSSM)の公式ドキュメントから始める価値があります。このドキュメントには、次のような多くの有用な資料が含まれています。
OSSMと親Istioオープンソースプロジェクトの違いについて説明します。
OSSMのインストール方法の説明 と
-
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.
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. , :
– (label). Istio, Kiali, , , , - Bookinfo, « ».
app version – , , Istio Kiali Jaeger.
Kiali – , mesh-, , .
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
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- . , -. :
– () , , 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, :
( , Mutual TLS).
.
Circuit breaker’.
.
OpenShift Service Mesh , mesh-, , , , . OpenShift, , . – , , , , A/B- .. , OpenShift, . , , .