OpenShift Istio-チュートリアル4の(7)カオスVirtualService故障噴射テストカオステストを使用して

このシリーズは、OpenShift SERVICメッシュチュートリアルは、「Red Hatの公式公募に基づいていますMicoservicesためIstioサービスメッシュの紹介出版物」、私はすべての操作がOpenShift 4.2.xでは環境の中で行われ検証されます。読み取りまたは小さなパートナーは、上記のゆっくり読んで本をダウンロードすることができ、より英語を学び、関連するシーンの知識の必要性が好きです。

VirtualServiceではHTTP、その混沌とし​​たテストの障害噴射要求をシミュレートすることができます。これはHTTPFaultInjection遅延を提供することにより、およびプロパティVirtualServiceアボート達成されます。

  • 遅延アクセスに遅延。
  • アクセスを終了させる中止。

マイクロサービスへ次勧告は、例えば遅延や中断テスト混乱を実現しています。「サービスの回復力のOpenShift Istio-チュートリアル(6)4」に従うと展開勧告v1と勧告2、およびすべてのVirtualServiceとDestinationRuleを除去するための推奨事項は、「環境を準備」する必要があります。

  1. まずチェック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
  1. サービスの勧告にちなんで命名さDestinationRuleを作成し、コマンドを実行します。
$ oc apply -f istiofiles/destination-rule-recommendation.yml

遅延故障注入

  1. 注入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
  1. VirtualServiceを作成するためのコマンドを実行します。
$ oc apply -f istiofiles/virtual-service-recommendation-delay.yml
  1. ファイル名を指定して実行、テスト検証要求の応答時間。いくつかは、より速く、いくつかの低速のリターンを要求リターンを見つけることができます。
$ export INGRESS_GATEWAY=$(oc get route istio-ingressgateway -n istio-system -o 'jsonpath={.spec.host}')
$ ./scripts/run.sh $INGRESS_GATEWAY/customer
  1. 検索は、右側のボタンをトレーストレース分散コンソールにKiali、サービスで選択勧告、ルックバックで1メートルを選択し、[]をクリックします。その後、要求の時間を確認するために追跡し、下記に消費することができます。7Sオーバー要求が速いミリ秒レベルであり、遅い要求。
    ここに画像を挿入説明

障害噴射終了

  1. ビュー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
  1. VirtualServiceを作成するためのコマンドを実行します。
$ oc apply -f istiofiles/virtual-service-recommendation-503.yml
  1. 顧客サービスへのマイクロ継続的なアクセスを実行します。我々は結果を返します部分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
公開された54元の記事 ウォンの賞賛0 ビュー1057

おすすめ

転載: blog.csdn.net/weixin_43902588/article/details/103997221