k 8 s~直接配置istio
3760 ワード
kubectlではistioをk 8 sに簡単に導入できますが、もちろんhelmを使ってもいいですが、helmバージョンとistioが衝突することがあるので、本稿では主にkubectlを使って導入します
istioの簡単ないくつかの概念
Service Meshでは、Data PlaneとControl Planeの2つの概念を理解する必要があります. Data Plane:グリッド内のサービス間の通信を処理し、サービス発見、負荷均衡、流量管理、健康診断などの機能を完成する. Control Plane:ポリシーを適用し、指標を収集するためにMixersを構成しながら、ルーティングトラフィックの管理と構成を行う役割を果たします.
Istioコアコンポーネント Envoy:Istioは、Envoy調停サービスグリッド内のすべてのサービスのインバウンドおよびアウトバウンドトラフィックを使用します.データプレーンに属します. Mixer:サービス・グリッド上でアクセス制御および使用ポリシーを実行し、Envoyおよびその他のサービスから自動的に監視されるデータを収集します. Pilot:Envoy sidecarにサービス発見機能を提供し、スマートルーティング(A/Bテスト、カナリア導入など)と弾力性(タイムアウト、再試行、ヒューズなど)に流量管理機能を提供する.コントロールプレーンに属します. Citadel:アクセス制御とユーザー認証機能を提供します.
Istioビジュアル化管理コンポーネント Vistio:アプリケーションとクラスタ間のネットワークトラフィックをほぼリアルタイムで監視するために使用されます. Kiali:サービス・グリッド・トポロジの可視化、ブレーカ、リクエスト率などの機能を提供します.KialiにはJaeger Tracingも含まれており、開梱用の分散追跡機能を提供することができます. jaeger:istioマイクロサービス呼び出しチェーン関係、およびマイクロサービス動作状態モニタリングを示すために使用されます.本番環境では、Elasticsearchまたはcassandraを使用してjaegerデータを永続化して格納する必要があります.
istioインストールパッケージのダウンロード
istioコアコンポーネントの説明 grafana-*//モニタデータ可視化ツール istio-citadel-*//証明書管理 istio-egressgateway-*//出口流量ゲートウェイ istio-galley-*//構成チェック istio-ingressgateway-*//入口流量ゲートウェイ istio-pilot-*//Envoyサービス発見、外部化構成 istio-policy-*//Mixerミキサーポリシーチェック istio-sidecar-injector-*//辺車注入 istio-telemetry-*//Mixerミキサー指標収集 kiali-*//service Mesh可視化ツール prometheus-*//モニタアラーム 指定したnamespaceにistioを注入するsidecar機能
istioの簡単ないくつかの概念
Service Meshでは、Data PlaneとControl Planeの2つの概念を理解する必要があります.
Istioコアコンポーネント
Istioビジュアル化管理コンポーネント
istioインストールパッケージのダウンロード
curl -L https://git.io/getLatestIstio | sh -
namespaceの作成kubectl create namespace istio-system
CRDリソースのインストールfor i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done
結果を表示kubectl get crds | grep 'istio.io' | wc -l
コアコンポーネントの配備kubectl apply -f install/kubernetes/istio-demo.yaml
このプロセスでは、コンテナを起動する前にミラーをダウンロードするのに時間がかかります.[root@i-pcwovafu istio-1.5.1]# kubectl -n istio-system get pods
NAME READY STATUS RESTARTS AGE
grafana-7797c87688-9nwd9 0/1 ContainerCreating 0 11m
istio-citadel-f5974cc7d-tqglf 0/1 ContainerCreating 0 11m
istio-egressgateway-5757854ddd-x6cq9 0/1 Running 0 11m
istio-galley-6799449b85-tnlpm 1/1 Running 0 11m
istio-grafana-post-install-1.5.1-h7ph2 0/1 Completed 0 11m
istio-ingressgateway-7dcf45496f-2cwcm 0/1 Running 0 11m
istio-pilot-7897f5dc-j9jzr 0/2 ContainerCreating 0 11m
istio-policy-5b579b8889-gs4j9 0/2 ContainerCreating 0 11m
istio-security-post-install-1.5.1-xlx2n 0/1 Completed 0 11m
istio-sidecar-injector-5d97f8cb99-rh22f 0/1 ContainerCreating 0 11m
istio-telemetry-d79f68d7d-cnpn2 0/2 ContainerCreating 0 11m
istio-tracing-797d4c8d48-fmrlh 1/1 Running 0 11m
kiali-74fdc898b9-d5w5z 0/1 ImagePullBackOff 0 11m
prometheus-c8fdbd64f-fh7vs 0/1 ContainerCreating 0 11m
これらのpodが起動するのを待つ必要があります.あなたのistioは起動します.istioコアコンポーネントの説明
# kubectl label namespace default istio-injection=enable
istioへの注入を禁止するsidecar機能# kubectl label namespace default istio-injection-
istioのsidecarの情報を表示kubectl get namespace -L istio-injection
今日は主にこちらをご紹介しますが、次回は具体的なistioのコンポーネントの使用についてお話しします.