このシリーズは、OpenShift SERVICメッシュチュートリアルは、「Red Hatの公式公募に基づいていますMicoservicesためIstioサービスメッシュの紹介出版物」、私はすべての操作がOpenShift 4.2.xでは環境の中で行われ検証されます。読み取りまたは小さなパートナーは、上記のゆっくり読んで本をダウンロードすることができ、より英語を学び、関連するシーンの知識の必要性が好きです。
VirtualServiceではHTTP、その混沌としたテストの障害噴射要求をシミュレートすることができます。これはHTTPFaultInjection遅延を提供することにより、およびプロパティVirtualServiceアボート達成されます。
- 遅延アクセスに遅延。
- アクセスを終了させる中止。
マイクロサービスへ次勧告は、例えば遅延や中断テスト混乱を実現しています。「サービスの回復力のOpenShift Istio-チュートリアル(6)4」に従うと展開勧告v1と勧告2、およびすべてのVirtualServiceとDestinationRuleを除去するための推奨事項は、「環境を準備」する必要があります。
- まずチェックistiofiles /宛先ルールrecommendation.ymlファイル、推奨DestinationRuleの名前を定義し、それはポッドのすべて「アプリ=勧告」を含む背景平均lableに割り当てられていると呼ばれる推薦サービスに要求を送信します。
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: recommendation
spec:
host: recommendation
subsets:
- labels:
app: recommendation
name: app-recommendation
- サービスの勧告にちなんで命名さDestinationRuleを作成し、コマンドを実行します。
$ oc apply -f istiofiles/destination-rule-recommendation.yml
遅延故障注入
- 注入VirtualServiceの要求7S 50%の遅延を定義istiofiles /仮想サービス推薦delay.ymlを参照。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: recommendation
spec:
hosts:
- recommendation
http:
- fault:
delay:
fixedDelay: 7.000s
percent: 50
route:
- destination:
host: recommendation
subset: app-recommendation
- VirtualServiceを作成するためのコマンドを実行します。
$ oc apply -f istiofiles/virtual-service-recommendation-delay.yml
- ファイル名を指定して実行、テスト検証要求の応答時間。いくつかは、より速く、いくつかの低速のリターンを要求リターンを見つけることができます。
$ export INGRESS_GATEWAY=$(oc get route istio-ingressgateway -n istio-system -o 'jsonpath={.spec.host}')
$ ./scripts/run.sh $INGRESS_GATEWAY/customer
- 検索は、右側のボタンをトレーストレース分散コンソールにKiali、サービスで選択勧告、ルックバックで1メートルを選択し、[]をクリックします。その後、要求の時間を確認するために追跡し、下記に消費することができます。7Sオーバー要求が速いミリ秒レベルであり、遅い要求。
障害噴射終了
- ビューistiofiles /仮想サービス推薦-503.ymlファイルには、彼は障害アボート終了、HTTP 503リターン推薦要求の50%を定義します。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: recommendation
spec:
hosts:
- recommendation
http:
- fault:
abort:
httpStatus: 503
percent: 50
route:
- destination:
host: recommendation
subset: app-recommendation
- VirtualServiceを作成するためのコマンドを実行します。
$ oc apply -f istiofiles/virtual-service-recommendation-503.yml
- 顧客サービスへのマイクロ継続的なアクセスを実行します。我々は結果を返します部分503が間違っている見ることができます。
$ export INGRESS_GATEWAY=$(oc get route istio-ingressgateway -n istio-system -o 'jsonpath={.spec.host}')
$ ./scripts/run.sh $INGRESS_GATEWAY/customer
customer => preference => recommendation v1 from '67976848-4l4s7': 13
customer => Error: 503 - preference => Error: 503 - fault filter abort
customer => Error: 503 - preference => Error: 503 - fault filter abort
customer => preference => recommendation v1 from '67976848-4l4s7': 14
customer => preference => recommendation v1 from '67976848-4l4s7': 15
customer => Error: 503 - preference => Error: 503 - fault filter abort