istio 簡介

最近接觸到了 istio呻澜,感覺十分強大,寫篇短文推薦給大家侨拦。本文所涉及的具體實驗步驟可以參考官網(wǎng)教程

istio 相關(guān)文章列表:

istio 是什么

Istio 提供一種簡單的方式來為已部署的服務(wù)建立網(wǎng)絡(luò)蹦锋,該網(wǎng)絡(luò)具有負(fù)載均衡、服務(wù)間認(rèn)證、監(jiān)控等功能,而不需要對服務(wù)的代碼做任何改動推正。

  • istio 適用于容器或虛擬機環(huán)境(特別是 k8s),兼容異構(gòu)架構(gòu)宝惰。
  • istio 使用 sidecar(邊車模式)代理服務(wù)的網(wǎng)絡(luò)植榕,不需要對業(yè)務(wù)代碼本身做任何的改動。
  • HTTP尼夺、gRPC尊残、WebSocket 和 TCP 流量的自動負(fù)載均衡。
  • istio 通過豐富的路由規(guī)則淤堵、重試夜郁、故障轉(zhuǎn)移和故障注入,可以對流量行為進(jìn)行細(xì)粒度控制粘勒;支持訪問控制、速率限制和配額屎即。
  • istio 對出入集群入口和出口中所有流量的自動度量指標(biāo)庙睡、日志記錄和跟蹤。

部署示例

官網(wǎng)的例子在我的環(huán)境下有點問題技俐,直接使用部署 review 應(yīng)用會報 com.ibm.ws.kernel.boot.LaunchException 錯誤乘陪,啟動失敗。具體原因沒找到雕擂,猜測是 websphere 和我的環(huán)境有點沖突(網(wǎng)上很多直接用 kubeadm 起的集群好像都有點問題)啡邑?我將它改寫成了 spring boot 項目,代碼可見 github 井赌。

首先部署一個簡短書評網(wǎng)站谤逼,構(gòu)架如圖。


構(gòu)架示意

網(wǎng)站包括四個微服務(wù):

  1. productpage :本服務(wù)會調(diào)用 details 和 reviews 兩個微服務(wù)仇穗,用來生成頁面流部。
  2. details :這個微服務(wù)包含了書籍的信息。
  3. reviews :這個微服務(wù)包含了書籍相關(guān)的評論纹坐。它還會調(diào)用 ratings 微服務(wù)枝冀。
  4. ratings :ratings 微服務(wù)中包含了由書籍評價組成的評級信息。

reviews 微服務(wù)有 3 個版本:

  1. v1 版本不會調(diào)用 ratings 服務(wù)。
  2. v2 版本會調(diào)用 ratings 服務(wù)果漾,并使用 1 到 5 個黑色星形圖標(biāo)來顯示評分信息球切。
  3. v3 版本會調(diào)用 ratings 服務(wù),并使用 1 到 5 個紅色星形圖標(biāo)來顯示評分信息绒障。

訪問效果如下:


訪問效果

由于 Bookinfo 示例部署了三個版本的 reviews 微服務(wù)吨凑,當(dāng)我們多次訪問應(yīng)用程序時,可以看到有時輸出包含星級評分端盆,有時又沒有怀骤。

智能路由

可以通過路由規(guī)則對流量進(jìn)行細(xì)粒度的控制。

1. 自定義路由

首先將所有流量導(dǎo)入 v1 版本的 reviews

使用如下配置焕妙,并提交給 k8s 蒋伦。

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1

稍等幾秒鐘就可以看到變化:


提交配置后的訪問效果

可以看到現(xiàn)在所有流量都走 v1 版 review。

根據(jù) header 內(nèi)容分發(fā)流量

istio 可以基于內(nèi)容分發(fā)流量焚鹊,在這里我們讓普通用戶全部訪問 v1 版痕届,而特殊用戶(jason)訪問 v2 版。
使用如下配置末患,并提交給 k8s研叫。

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
    - reviews
  http:
  - match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: reviews
        subset: v2
  - route:
    - destination:
        host: reviews
        subset: v1

可以看到普通用戶仍然訪問 v1 版 review。


普通用戶仍然訪問 v1 版 review

而以 jason 身份登錄后會訪問 v2 版 review(黑色五角星)璧针。


jason 訪問 v2 版 review

除此以外 istio 可以在服務(wù)之間注入延遲嚷炉、斷開等故障。也可以做到按比例遷移等需求探橱。

監(jiān)控

在 Istio 中申屹,可以讓 Mixer 自動為所有的網(wǎng)格內(nèi)流量生成和報告新的指標(biāo)以及新的日志流。下面以 book-info 應(yīng)用為例隧膏,展示分布式追蹤哗讥。

Prometheus

用作指標(biāo)采集與查詢。


Prometheus 指標(biāo)查詢
Prometheus 指標(biāo)采集 job

分布式追蹤

雖然 Istio 代理能夠自動發(fā)送 Span 信息胞枕,但還是需要一些輔助手段來把整個跟蹤過程統(tǒng)一起來杆煞。應(yīng)用程序應(yīng)該自行傳播跟蹤相關(guān)的 HTTP Header,這樣在代理發(fā)送 Span 信息的時候腐泻,才能正確的把同一個跟蹤過程統(tǒng)一起來决乎。

productpage 服務(wù)訪問總覽
調(diào)用鏈追蹤
服務(wù)拓?fù)鋱D

grafana

使用 grafana 對 istio 本身和服務(wù)網(wǎng)格進(jìn)行監(jiān)控。

服務(wù)大盤
client workload
service workload
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末派桩,一起剝皮案震驚了整個濱河市瑞驱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窄坦,老刑警劉巖唤反,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凳寺,死亡現(xiàn)場離奇詭異,居然都是意外死亡彤侍,警方通過查閱死者的電腦和手機肠缨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盏阶,“玉大人晒奕,你說我怎么就攤上這事∶澹” “怎么了脑慧?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長砰盐。 經(jīng)常有香客問我闷袒,道長,這世上最難降的妖魔是什么岩梳? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任囊骤,我火速辦了婚禮,結(jié)果婚禮上冀值,老公的妹妹穿的比我還像新娘也物。我一直安慰自己,他們只是感情好列疗,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布滑蚯。 她就那樣靜靜地躺著,像睡著了一般抵栈。 火紅的嫁衣襯著肌膚如雪膘魄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天竭讳,我揣著相機與錄音,去河邊找鬼浙踢。 笑死绢慢,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洛波。 我是一名探鬼主播胰舆,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蹬挤!你這毒婦竟也來了缚窿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤焰扳,失蹤者是張志新(化名)和其女友劉穎倦零,沒想到半個月后误续,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡扫茅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年蹋嵌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葫隙。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡栽烂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恋脚,到底是詐尸還是另有隱情腺办,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布糟描,位于F島的核電站怀喉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蚓挤。R本人自食惡果不足惜磺送,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灿意。 院中可真熱鬧估灿,春花似錦、人聲如沸缤剧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荒辕。三九已至汗销,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抵窒,已是汗流浹背弛针。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留李皇,地道東北人削茁。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像掉房,于是被迫代替她去往敵國和親茧跋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容