華為云云原生鉆石集訓(xùn)營 第十四課:Istio流量治理與監(jiān)控管理深度剖析

      網(wǎng)友投稿 820 2022-05-30

      前言:

      前面王者課程,大家已經(jīng)對lstio流量治理和監(jiān)控管理有一定的了解

      本節(jié)課程將為大家?guī)砩疃鹊膌stio流量治理和監(jiān)控管理原理剖析

      課程目標:

      學(xué)完本課程后,您將能夠:

      1.深入理解流量治理API

      2.深入理解流量監(jiān)控

      3.深入理解Envoy在流量治理中的職責(zé)

      目錄:

      1. lstio流量治理基本介紹

      2. lstio流量治理深度剖析

      3. lstio監(jiān)控深度剖析

      流量治理演進

      上一代微服務(wù)框架,大部分流量治理方案是:

      -將流量治理策略放在SDK中

      - Java系微服務(wù)框架比較流行

      -異構(gòu)開發(fā)語言很不友好

      -缺少靈活性,流量治理策略一般是靜態(tài)配置,少數(shù)支持動態(tài)配置

      lstio流量治理方案是:

      -流量治理策略完全由Sidecar實現(xiàn)

      應(yīng)用完全無感知

      -語言無關(guān)

      -靈活,支持動態(tài)配置

      lstio流量治理基本介紹

      簡化服務(wù)治理配置:

      -熔斷,降級

      -超時

      -重試

      - A/B測試,金絲雀發(fā)布

      -基于權(quán)重的流量切分

      -故障檢測與恢復(fù)

      lstio流量治理深度解析

      -VirtualServiceVirtualService:最重要的路由API

      允許您配置如何將請求路由到Istio服務(wù)網(wǎng)格中的服務(wù),構(gòu)建在Istio和您的平臺提供的基本連接和發(fā)現(xiàn)之上。

      Without VS,請求將按照基本的負載均衡策略分發(fā)到所有的服務(wù)實例

      With vS,可以將請求按照百分比(Weight)分發(fā)到一組或者多組后端實例,或者根據(jù)請求屬性(Match),將請求路由到不同的服務(wù)實例組。

      典型的使用場景是灰度發(fā)布

      lstio流量治理深度解析-VirtualService

      . hosts:選擇目標服務(wù),VS應(yīng)用到目標服務(wù)上

      . match:匹配HTTP屬性Header,Authority,URI,Method,QueryParam

      . Destination.Host:目的服務(wù)

      . Destination.Subset:通過DestinationRule定義的服務(wù)實例集合

      . Route.Weight:流量權(quán)重分配

      lstio流量治理深度解析-DestinationRule

      DestinationRule:

      ·常常與VS配合使用,VS定義一些策略將流量路由到某些目標服務(wù),而DestinationRule允許用戶針對目標服務(wù)配置一些負載均衡,異常檢測,連接池以及證書

      ·特別是利用DR Subset定義特定服務(wù)的實例分組,結(jié)合VirtualService可以實現(xiàn)完整的藍綠部署,金絲雀發(fā)布等功能。

      K8S API Server

      提供Pilot相關(guān)的CRD Resource的增、刪、改、查。和Pilot相關(guān)的CRD有以下幾種:

      Virtualservice:用于定義路由規(guī)則,如根據(jù)來源或 Header 制定規(guī)則,或在不同服務(wù)版本之間分拆流量。

      DestinationRule:定義目的服務(wù)的配置策略以及可路由子集。策略包括斷路器、負載均衡以及 TLS 等。

      ServiceEntry:可以使用ServiceEntry向Istio中加入附加的服務(wù)條目,以使網(wǎng)格內(nèi)可以向istio 服務(wù)網(wǎng)格之外的服務(wù)發(fā)出請求。

      Gateway:為網(wǎng)格配置網(wǎng)關(guān),以允許一個服務(wù)可以被網(wǎng)格外部訪問。

      華為云云原生鉆石集訓(xùn)營 第十四課:Istio流量治理與監(jiān)控管理深度剖析

      EnvoyFilter:可以為Envoy配置過濾器。由于Envoy已經(jīng)支持Lua過濾器,因此可以通過EnvoyFilter啟用Lua過濾器,動態(tài)改變Envoy的過濾鏈行為。我之前一直在考慮如何才能動態(tài)擴展Envoy的能力,EnvoyFilter提供了很靈活的擴展性。

      Sidecar:缺省情況下,Pilot將會把和Envoy Sidecar所在namespace的所有services的相關(guān)配置,包括inbound和outbound listenter, cluster, route等,都下發(fā)給Enovy。使用Sidecar可以對Pilot向Envoy Sidcar下發(fā)的配置進行更細粒度的調(diào)整,例如只向其下發(fā)該Sidecar 所在服務(wù)需要訪問的那些外部服務(wù)的相關(guān)outbound配置。

      lstio流量治理深度解析-Gateway

      類似Ingress,K8s Gateway API

      應(yīng)用于網(wǎng)格邊緣獨立運行的Envoy代理

      配置L4-L6的負載均衡,比如端口,證書

      L7層的路由能力需要與VirtualService綁定

      lstio流量治理深度解析-ServiceEntry

      ·類似K8s Service

      ·將外部服務(wù)注冊到K8s注冊中心

      ·將虛擬機服務(wù)注冊到K8s注冊中心

      ·配合VirtualService與DestinationRule可應(yīng)用部分治理能力:重試,超時,故障注入,熔斷,異常檢測

      lstio流量治理深度解析-Sidecar

      . lstio中,默認所有的工作負載可訪問所有的服務(wù)

      ·利用Sidecar可以:

      ·限制負載可訪問的服務(wù)

      ·精確控制部分端口可被訪問

      . Sidecar可作用在具體的工作負載or Namespaces內(nèi)

      ·大規(guī)模場景下,降低控制面和數(shù)據(jù)面開銷(內(nèi)存,CPU,帶寬)

      lstio Observability

      lstio提供以下可觀測性能力(非侵入)∶

      Metrics,應(yīng)用流量粒度的監(jiān)控統(tǒng)計

      Distributed Traces:調(diào)用鏈上報

      Access Logs:訪問日志

      服務(wù)網(wǎng)格監(jiān)控-Metrics

      指標監(jiān)控依靠Istio擴展的Filter:

      istio.alpn過濾器,重寫ALPN

      istio.metadata_exchange,交換雙方的Metadata

      istio.stats,記錄metrics

      服務(wù)網(wǎng)格監(jiān)控-Trace

      并非完全零侵入,應(yīng)用必須進行調(diào)用鏈埋點,即從接收的請求中采集以下信息,并且發(fā)送給下一個服務(wù)

      ·x-request-id

      x-b3-traceid

      x-b3-spanid

      x-b3-parentspanid

      x-b3-sampledo

      x-b3-flags

      x-ot-span-context ( Lightstep )

      Envoy send Tracing到Trace后端:Zipkin Lightstep Datadog Stackdriver? ?Opencensus Skywalking

      Istio Trace支持

      envoy支持trace

      envoy原生就支持分布式追蹤系統(tǒng)的接入,如支持jaeger和zipkin,如envoy的Tracing官方文檔中表明envoy支持如下trace特性:

      生成Request Id,填充HTTP的header字段x-request-id

      外部跟蹤服務(wù)集成,如支持LightStep, Zipkin或任何Zipkin兼容后端(如Jaeger)

      添加Client trace ID

      Istio的envoy代理攔截流量后會主動上報trace系統(tǒng),通過proxy的參數(shù)zipkinAddress指定了trace系統(tǒng)的地址,這樣就不會再經(jīng)過mixer了,直接envoy和trace系統(tǒng)交互,大體流程:

      如果incoming的請求沒有trace相關(guān)的headers,則會再流量進入pods之前創(chuàng)建一個root span

      如果incoming的請求包含有trace相關(guān)的headers,Sidecar的proxy將會extract這些span的上下文信息,然后再在流量進入pods之前創(chuàng)建一個繼承上一個span的新的span

      Tracing 簡介

      為什么需要tracing?

      在微服務(wù)架構(gòu)中,當多個服務(wù)相互調(diào)用時,故障排查變得不再容易。故障的根因是什么,為什么請求的性能不佳,哪個服務(wù)是調(diào)用堆棧中的瓶頸,請求之間的網(wǎng)絡(luò)延遲是多少?

      有了分布式跟蹤,就可以可視化完整的調(diào)用堆棧,查看哪個服務(wù)調(diào)用了哪個服務(wù),每個調(diào)用花費了多長時間以及它們之間的網(wǎng)絡(luò)等待時間是多少。可以知道請求失敗的位置或哪個服務(wù)花費太多時間來響應(yīng)。

      服務(wù)網(wǎng)格監(jiān)控-AccessLog

      支持的AccessLog Sink:

      File,異步寫

      gRPC

      stdout

      stderr

      總結(jié):

      本課程講解重點1: Istio流量治理API及實現(xiàn)。

      本課程講解重點2: Istio的監(jiān)控和調(diào)用鏈埋點

      參考鏈接:

      流量治理: https://support.huaweicloud.com/usermanual-istio/istio_01_0011.html

      流量監(jiān)控: https://support.huaweicloud.com/usermanual-istio/istio_ 01_0012.html

      lstio官方網(wǎng)站: https://istio.io/

      ASM應(yīng)用服務(wù)網(wǎng)格官方首頁: https://support.huaweicloud.com/istio/

      Istio Kubernetes 云原生

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:爬蟲管理平臺 Crawlab 專業(yè)版 v0.1.0 正式發(fā)布
      下一篇:深度學(xué)習(xí)框架(如:Pytorch、Tensorflow、Caffe...)
      相關(guān)文章
      亚洲a∨无码男人的天堂| 亚洲热线99精品视频| 亚洲大片在线观看| 中文字幕一精品亚洲无线一区| 久久精品熟女亚洲av麻豆| 亚洲精品乱码久久久久蜜桃| 亚洲国产视频久久| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲日韩乱码久久久久久| 久久亚洲私人国产精品| 久久精品亚洲中文字幕无码麻豆| 亚洲成av人在线视| 亚洲午夜国产精品无码老牛影视| 久久影院亚洲一区| 亚洲一区无码精品色| 国产成人亚洲影院在线观看| 亚洲一区视频在线播放| 亚洲熟妇无码乱子AV电影| 亚洲色精品aⅴ一区区三区| 亚洲色精品vr一区二区三区| 久久亚洲精品视频| 久久青青成人亚洲精品| 亚洲今日精彩视频| 亚洲视频在线观看网址| 亚洲免费观看网站| 国产亚洲精aa在线看| 亚洲精品美女久久久久久久| 国产亚洲精彩视频| 亚洲综合精品网站在线观看| 亚洲女同成av人片在线观看| 久久久久亚洲Av片无码v| 久久亚洲精品中文字幕| 亚洲人成网站日本片| 国产亚洲精aa在线看| 亚洲AV无码一区二区三区性色| 亚洲AV无码一区二区三区国产| 久久精品国产精品亚洲人人 | 中文字幕亚洲无线码a| 亚洲中文字幕第一页在线 | 亚洲人成网国产最新在线| 亚洲va中文字幕|