日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Istio+K8s,微服務(wù)的雙劍合璧!

【稿件】很多企業(yè)都會(huì)面臨從單體應(yīng)用向微服務(wù)架構(gòu)的轉(zhuǎn)型,也會(huì)衍生出更多的分布式場景需求。隨著規(guī)模和復(fù)雜度的不斷增長,如何才能更好的理解、高效的管理服務(wù)網(wǎng)格呢?

專業(yè)領(lǐng)域包括做網(wǎng)站、成都做網(wǎng)站、商城網(wǎng)站建設(shè)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

[[336878]]
圖片來自 Pexels

本節(jié)篇幅較長,我們主要圍繞以下幾點(diǎn)來展開:

  • 什么是服務(wù)網(wǎng)格?
  • 初識 Istio
  • 核心特性
  • 流程架構(gòu)
  • 核心模塊
  • Envoy 進(jìn)階
  • 方案暢想

對許多公司來說,Docker 和 Kubernetes 這樣的工具已經(jīng)解決了部署問題,或者說幾乎解決了。

但他們還沒有解決運(yùn)行時(shí)的問題,這就是服務(wù)網(wǎng)格(Service Mesh)的由來。

什么是服務(wù)網(wǎng)格?

服務(wù)網(wǎng)格(Service Mesh)用來描述組成這些應(yīng)用程序的微服務(wù)網(wǎng)絡(luò)以及它們之間的交互。

它是一個(gè)用于保證服務(wù)間安全、快速、可靠通信的網(wǎng)絡(luò)代理組件,是隨著微服務(wù)和云原生應(yīng)用興起而誕生的基礎(chǔ)設(shè)施層。

它通常以輕量級網(wǎng)絡(luò)代理的方式同應(yīng)用部署在一起。比如 Sidecar 方式,如下圖所示:

我們對上圖做個(gè)解釋:Service Mesh 設(shè)計(jì)一般劃分為兩個(gè)模塊,控制面和數(shù)據(jù)面。對于應(yīng)用來說,所有流量都會(huì)經(jīng)過數(shù)據(jù)面進(jìn)行轉(zhuǎn)發(fā)。

順利轉(zhuǎn)發(fā)的前提:數(shù)據(jù)面需要知道轉(zhuǎn)發(fā)的目標(biāo)地址,目標(biāo)地址本身是由一些業(yè)務(wù)邏輯來決定的(例如服務(wù)發(fā)現(xiàn))。

所以自然而然地,我們可以推斷控制面需要負(fù)責(zé)管理數(shù)據(jù)面能正常運(yùn)行所需要的一些配置:

  • 需要知道某次請求轉(zhuǎn)發(fā)去哪里:服務(wù)發(fā)現(xiàn)配置。
  • 外部流量進(jìn)入需要判斷是否已經(jīng)達(dá)到服務(wù)流量上限:限流配置。
  • 依賴服務(wù)返回錯(cuò)誤時(shí),需要能夠執(zhí)行相應(yīng)的熔斷邏輯:熔斷配置。

Serivce Mesh 可以看作是一個(gè)位于 TCP/IP 之上的網(wǎng)絡(luò)模型,抽象了服務(wù)間可靠通信的機(jī)制。

但與 TCP 不同,它是面向應(yīng)用的,為應(yīng)用提供了統(tǒng)一的可視化和控制。

Service Mesh 具有如下優(yōu)點(diǎn):

  • 屏蔽分布式系統(tǒng)通信的復(fù)雜性(負(fù)載均衡、服務(wù)發(fā)現(xiàn)、認(rèn)證授權(quán)、監(jiān)控追蹤、流量控制等等),服務(wù)只用關(guān)注業(yè)務(wù)邏輯。
  • 真正的語言無關(guān),服務(wù)可以用任何語言編寫,只需和 Service Mesh 通信即可。
  • 對應(yīng)用透明,Service Mesh 組件可以單獨(dú)升級。

Service Mesh 目前也面臨一些挑戰(zhàn):

  • Service Mesh 組件以代理模式計(jì)算并轉(zhuǎn)發(fā)請求,一定程度上會(huì)降低通信系統(tǒng)性能,并增加系統(tǒng)資源開銷。
  • Service Mesh 組件接管了網(wǎng)絡(luò)流量,因此服務(wù)的整體穩(wěn)定性依賴于 Service Mesh,同時(shí)額外引入的大量 Service Mesh 服務(wù)實(shí)例的運(yùn)維和管理也是一個(gè)挑戰(zhàn)。

隨著服務(wù)網(wǎng)格的規(guī)模和復(fù)雜性不斷的增長,它將會(huì)變得越來越難以理解和管理。

Service Mesh 的需求包括服務(wù)發(fā)現(xiàn)、負(fù)載均衡、故障恢復(fù)、度量和監(jiān)控等。

Service Mesh 通常還有更復(fù)雜的運(yùn)維需求,比如 A/B 測試、金絲雀發(fā)布、速率限制、訪問控制和端到端認(rèn)證。

Service Mesh 的出現(xiàn),彌補(bǔ)了 Kubernetes 在微服務(wù)的連接、管理和監(jiān)控方面的短板,為 Kubernetes 提供更好的應(yīng)用和服務(wù)管理。

因此,Service Mesh 的代表 Istio 一經(jīng)推出,就被認(rèn)為是可以和 Kubernetes 形成雙劍合璧效果的微服務(wù)管理的利器,受到了業(yè)界的推崇。

Istio 提供了對整個(gè)服務(wù)網(wǎng)格的行為洞察和操作控制的能力,以及一個(gè)完整的滿足微服務(wù)應(yīng)用各種需求的解決方案。

Istio 主要采用一種一致的方式來保護(hù)、連接和監(jiān)控微服務(wù),降低了管理微服務(wù)部署的復(fù)雜性。

初識 Istio

Istio 發(fā)音「意絲帝歐」,重音在意上。官方給出的 Istio 的總結(jié),簡單明了:

 
 
 
 
  1. Istio lets you connect, secure, control, and observe services. 

連接、安全、控制和觀測服務(wù)。

簡單來說,Istio 針對現(xiàn)有的服務(wù)網(wǎng)格,提供一種簡單的方式將連接、安全、控制和觀測的模塊,與應(yīng)用程序或服務(wù)隔離開來,從而開發(fā)人員可以將更多的精力放在核心的業(yè)務(wù)邏輯上。

以下是 Istio 的核心功能:

  • HTTP、gRPC、WebSocket 和 TCP 流量的自動(dòng)負(fù)載均衡。
  • 通過豐富的路由規(guī)則、重試、故障轉(zhuǎn)移和故障注入,可以對流量行為進(jìn)行細(xì)粒度控制。
  • 可插入的策略層和配置 API,支持訪問控制、速率限制和配額。
  • 對出入集群入口和出口中所有流量的自動(dòng)度量指標(biāo)、日志記錄和追蹤。
  • 通過強(qiáng)大的基于身份的驗(yàn)證和授權(quán),在集群中實(shí)現(xiàn)安全的服務(wù)間通信。

從較高的層面來說,Istio 有助于降低這些部署的復(fù)雜性,并減輕開發(fā)團(tuán)隊(duì)的壓力。

它是一個(gè)完全開源的服務(wù)網(wǎng)格,作為透明的一層接入到現(xiàn)有的分布式應(yīng)用程序里。它也是一個(gè)平臺,擁有可以集成任何日志、遙測和策略系統(tǒng)的 API 接口。

Istio 多樣化的特性使我們能夠成功且高效地運(yùn)行分布式微服務(wù)架構(gòu),并提供保護(hù)、連接和監(jiān)控微服務(wù)的統(tǒng)一方法。

核心特性

Istio 以統(tǒng)一的方式提供了許多跨服務(wù)網(wǎng)格的關(guān)鍵功能:

①流量管理

Istio 簡單的規(guī)則配置和流量路由允許我們控制服務(wù)之間的流量和 API 調(diào)用過程。

Istio 簡化了服務(wù)級屬性(如熔斷器、超時(shí)和重試)的配置,并且讓它輕而易舉的執(zhí)行重要的任務(wù)(如 A/B 測試、金絲雀發(fā)布和按流量百分比劃分的分階段發(fā)布)。

有了更好的對流量的可視性和開箱即用的故障恢復(fù)特性,我們就可以在問題產(chǎn)生之前捕獲它們,無論面對什么情況都可以使調(diào)用更可靠,網(wǎng)絡(luò)更健壯。

②安全

Istio 的安全特性解放了開發(fā)人員,使其只需要專注于應(yīng)用程序級別的安全。

Istio 提供了底層的安全通信通道,并為大規(guī)模的服務(wù)通信管理認(rèn)證、授權(quán)和加密。

有了 Istio,服務(wù)通信在默認(rèn)情況下就是受保護(hù)的,可以在跨不同協(xié)議和運(yùn)行時(shí)的情況下實(shí)施一致的策略,而所有這些都只需要很少甚至不需要修改應(yīng)用程序。

Istio 是獨(dú)立于平臺的,可以與 Kubernetes(或基礎(chǔ)設(shè)施)的網(wǎng)絡(luò)策略一起使用。

但它更強(qiáng)大,能夠在網(wǎng)絡(luò)和應(yīng)用層面保護(hù) Pod 到 Pod 或者服務(wù)到服務(wù)之間的通信。

③可觀察性

Istio 健壯的追蹤、監(jiān)控和日志特性讓我們能夠深入的了解服務(wù)網(wǎng)格部署。通過 Istio 的監(jiān)控能力,可以真正的了解到服務(wù)的性能是如何影響上游和下游的。

而它的定制 Dashboard 提供了對所有服務(wù)性能的可視化能力,并讓我們看到它如何影響其他進(jìn)程。

Istio 的 Mixer 組件負(fù)責(zé)策略控制和遙測數(shù)據(jù)收集。它提供了后端抽象和中介,將一部分 Istio與后端的基礎(chǔ)設(shè)施實(shí)現(xiàn)細(xì)節(jié)隔離開來,并為運(yùn)維人員提供了對網(wǎng)格與后端基礎(chǔ)實(shí)施之間交互的細(xì)粒度控制。

所有這些特性都使我們能夠更有效地設(shè)置、監(jiān)控和加強(qiáng)服務(wù)的 SLO。當(dāng)然,底線是我們可以快速有效地檢測到并修復(fù)出現(xiàn)的問題。

④平臺支持

Istio 獨(dú)立于平臺,被設(shè)計(jì)為可以在各種環(huán)境中運(yùn)行,包括跨云、內(nèi)部環(huán)境、Kubernetes、Mesos 等等。

我們可以在 Kubernetes 或是裝有 Consul 的 Nomad 環(huán)境上部署 Istio。

Istio 目前支持:

  • Kubernetes 上的服務(wù)部署。
  • 基于 Consul 的服務(wù)注冊。
  • 服務(wù)運(yùn)行在獨(dú)立的虛擬機(jī)上。

⑤整合和定制

Istio 的策略實(shí)施組件可以擴(kuò)展和定制,與現(xiàn)有的 ACL、日志、監(jiān)控、配額、審查等解決方案集成。

流程架構(gòu)

Istio 服務(wù)網(wǎng)格邏輯上分為數(shù)據(jù)平面(Control Plane)和控制平面(Data Plane),架構(gòu)圖如下所示:

數(shù)據(jù)平面(Data Plane)

由一組以 Sidecar 方式部署的智能代理 Envoy 組成。Envoy 被部署為 Sidecar,和對應(yīng)服務(wù)在同一個(gè) Kubernetes pod 中。

這允許 Istio 將大量關(guān)于流量行為的信號作為屬性提取出來,而這些屬性又可以在 Mixer 中用于執(zhí)行策略決策,并發(fā)送給監(jiān)控系統(tǒng),以提供整個(gè)網(wǎng)格行為的信息。

這些代理可以調(diào)節(jié)和控制微服務(wù)及 Mixer 之間所有的網(wǎng)絡(luò)通信。

控制平面(Control Plane)

負(fù)責(zé)管理和配置代理來路由流量,此外配置 Mixer 以實(shí)施策略和收集遙測數(shù)據(jù)。

主要包含如下幾部分內(nèi)容:

  • Mixer:策略和請求追蹤。
  • Pilot:提供服務(wù)發(fā)現(xiàn)功能,為智能路由(例如 A/B 測試、金絲雀部署等)和彈性(超時(shí)、重試、熔斷器等)提供流量管理功能。
  • Citadel:分發(fā) TLS 證書到智能代理。
  • Sidecar injector:可以允許向應(yīng)用中無侵入的添加功能,避免為了滿足第三方需求而添加額外的代碼。

核心模塊

上文提到了很多技術(shù)名詞,我們需要重點(diǎn)解釋一下:

①什么是 Sidecar 模式?

Sidecar 是一種將應(yīng)用功能從應(yīng)用本身剝離出來作為單獨(dú)進(jìn)程的設(shè)計(jì)模式,可以允許向應(yīng)用中無侵入的添加功能,避免為了滿足第三方需求而添加額外的代碼。

在軟件架構(gòu)中,Sidecar 附加到主應(yīng)用,或者叫父應(yīng)用上,以擴(kuò)展、增強(qiáng)功能特性,同時(shí) Sidecar 與主應(yīng)用是松耦合的。

Sidecar 是一種單節(jié)點(diǎn)多容器的應(yīng)用設(shè)計(jì)形式,主張以額外的容器來擴(kuò)展或增強(qiáng)主容器。

②Envoy 的作用是什么?

Envoy 是一個(gè)獨(dú)立的進(jìn)程,旨在與每個(gè)應(yīng)用程序服務(wù)器一起運(yùn)行。

所有 Envoy組成了一個(gè)透明的通信網(wǎng)格,其中每個(gè)應(yīng)用程序發(fā)送和接收來自本地主機(jī)的消息,并且不需要知道網(wǎng)絡(luò)拓?fù)洹?/p>

與傳統(tǒng)的服務(wù)通信服務(wù)的庫方法相比,進(jìn)程外架構(gòu)有兩個(gè)實(shí)質(zhì)性好處:

  • Envoy 支持任何編程語言寫的服務(wù)。只用部署一個(gè) Envoy 就可以在 Java、C++、Go、PHP、Python 等服務(wù)間形成網(wǎng)格。
  • 任何使用過大型面向服務(wù)的體系結(jié)構(gòu)的人都知道,部署庫升級可能會(huì)非常痛苦。Envoy 可以在整個(gè)基礎(chǔ)設(shè)施中迅速部署和升級。

Envoy 以透明的方式彌合了面向服務(wù)的體系結(jié)構(gòu)使用多個(gè)應(yīng)用程序框架和語言的情況。

③Mixer

Mixer 是一個(gè)獨(dú)立于平臺的組件,負(fù)責(zé)在服務(wù)網(wǎng)格上執(zhí)行訪問控制和使用策略,并從 Envoy 代理和其他服務(wù)收集遙測數(shù)據(jù),代理提取請求級屬性,發(fā)送到 Mixer 進(jìn)行評估。有關(guān)屬性提取和策略評估的更多信息,請參見 Mixer 配置。

Mixer 中包括一個(gè)靈活的插件模型,使其能夠接入到各種主機(jī)環(huán)境和基礎(chǔ)設(shè)施后端,從這些細(xì)節(jié)中抽象出 Envoy 代理和 Istio 管理的服務(wù)。

④Pilot

控制面中負(fù)責(zé)流量管理的組件為 Pilot,它為 Envoy Sidecar 提供服務(wù)發(fā)現(xiàn)功能,為智能路由(例如 A/B 測試、金絲雀部署等)和彈性(超時(shí)、重試、熔斷器等)提供流量管理功能。

它將控制流量行為的高級路由規(guī)則轉(zhuǎn)換為特定于 Envoy 的配置,并在運(yùn)行時(shí)將它們傳播到 Sidecar。

⑤Istio 如何保證服務(wù)通信的安全?

Istio 以可擴(kuò)縮的方式管理微服務(wù)間通信的身份驗(yàn)證、授權(quán)和加密。Istio 提供基礎(chǔ)的安全通信渠道,使開發(fā)者可以專注于應(yīng)用層級的安全。

Istio 可以增強(qiáng)微服務(wù)及其通信(包括服務(wù)到服務(wù)和最終用戶到服務(wù)的通信)的安全性,且不需要更改服務(wù)代碼。

它為每個(gè)服務(wù)提供基于角色的強(qiáng)大身份機(jī)制,以實(shí)現(xiàn)跨集群、跨云端的互操作性。

如果我們結(jié)合使用 Istio 與 Kubernetes(或基礎(chǔ)架構(gòu))網(wǎng)絡(luò)政策,Pod 到 Pod 或服務(wù)到服務(wù)的通信在網(wǎng)絡(luò)層和應(yīng)用層都將安全無虞。

Istio 以 Google 的深度防御策略為基礎(chǔ)構(gòu)建而成,以確保微服務(wù)通信的安全。

當(dāng)我們在 Google Cloud 中使用 Istio 時(shí),Google 的基礎(chǔ)架構(gòu)可讓我們構(gòu)建真正安全的應(yīng)用部署。

Istio 可確保服務(wù)通信在默認(rèn)情況下是安全的,并且我們可以跨不同協(xié)議和運(yùn)行時(shí)一致地實(shí)施安全政策,而只需對應(yīng)用稍作調(diào)整,甚至無需調(diào)整。

Envoy 進(jìn)階

Istio 使用 Envoy 代理的擴(kuò)展版本,Envoy 是以 C++ 開發(fā)的高性能代理,用于調(diào)解服務(wù)網(wǎng)格中所有服務(wù)的所有入站和出站流量。

Envoy 的許多內(nèi)置功能被 Istio 發(fā)揚(yáng)光大,例如:

  • 動(dòng)態(tài)服務(wù)發(fā)現(xiàn)
  • 負(fù)載均衡
  • TLS 終止
  • HTTP2 & gRPC 代理
  • 熔斷器
  • 健康檢查、基于百分比流量拆分的灰度發(fā)布
  • 故障注入
  • 豐富的度量指標(biāo)

Envoy 分為主線程、工作線程、文件刷新線程,其中主線程就是負(fù)責(zé)工作線程和文件刷新線程的管理和調(diào)度。

而工作線程主要負(fù)責(zé)監(jiān)聽、過濾和轉(zhuǎn)發(fā),工作線程里面會(huì)包含一個(gè)監(jiān)聽器,如果收到一個(gè)請求之后會(huì)通過過濾鏈來進(jìn)行數(shù)據(jù)過濾。

前面兩個(gè)都是非阻塞的,唯一一個(gè)阻塞的是這種 IO 操作的,會(huì)不斷地把內(nèi)存里面一些緩存進(jìn)行落盤。

總結(jié)來說,我們可以圍繞如下五方面:

①服務(wù)的動(dòng)態(tài)注冊和發(fā)現(xiàn)

Envoy 可以選擇使用一組分層的動(dòng)態(tài)配置 API 來進(jìn)行集中管理。

這些層為 Envoy 提供了動(dòng)態(tài)更新,后端群集的主機(jī)、后端群集本身、HTTP 路由、偵聽套接字和通信加密。

為了實(shí)現(xiàn)更簡單的部署,后端主機(jī)發(fā)現(xiàn)可以通過 DNS 解析 (甚至完全跳過) 完成,層也可以替換為靜態(tài)配置文件。

②健康檢查

構(gòu)建 Envoy 網(wǎng)格的建議方法是將服務(wù)發(fā)現(xiàn)視為最終一致的過程。Envoy 包括一個(gè)運(yùn)行狀況檢查子系統(tǒng),該子系統(tǒng)可以選擇對上游服務(wù)集群執(zhí)行主動(dòng)運(yùn)行狀況檢查。

然后,Envoy 使用服務(wù)發(fā)現(xiàn)和運(yùn)行狀況檢查信息的聯(lián)合來確定健康的負(fù)載均衡服務(wù)器。Envoy 還支持通過異常檢測子系統(tǒng)進(jìn)行被動(dòng)運(yùn)行狀況檢查。

③高級負(fù)載均衡

分布式系統(tǒng)中不同組件之間的負(fù)載平衡是一個(gè)復(fù)雜的問題。

由于 Envoy 是一個(gè)獨(dú)立的代理而不是庫,因此它能夠在一個(gè)位置實(shí)現(xiàn)高級負(fù)載平衡技術(shù),并使任何應(yīng)用程序都可以訪問。

目前 Envoy 包括支持自動(dòng)重試、斷路、通過外部速率限制服務(wù)限制全局速率、請求隱藏和異常值檢測。未來計(jì)劃為 Request Racing 提供支持。

④前端/邊緣系統(tǒng)代理支持

雖然 Envoy 主要是為服務(wù)通信系統(tǒng)而設(shè)計(jì)的,但對前端/邊緣系統(tǒng)也是很有用的,如:可觀測性、管理、相同的服務(wù)發(fā)現(xiàn)和負(fù)載平衡算法等。

Envoy 包含足夠的功能,使其可用作大多數(shù) Web 應(yīng)用服務(wù)用例的邊緣代理。這包括作為 TLS 的終點(diǎn)、HTTP/1.1 和 HTTP/2 支持,以及 HTTP L7 路由。

⑤最好的觀察統(tǒng)計(jì)能力

Envoy 的首要目標(biāo)是使網(wǎng)絡(luò)透明。但是在網(wǎng)絡(luò)級別和應(yīng)用程序級都無法避免的容易出現(xiàn)問題。

Envoy 包含了對所有子系統(tǒng)的強(qiáng)有力的統(tǒng)計(jì)支持。statsd 和其他兼容的數(shù)據(jù)提供程序是當(dāng)前支持的統(tǒng)計(jì)接收器,插入不同的統(tǒng)計(jì)接收器也并不困難。

Envoy 可以通過管理端口查看統(tǒng)計(jì)信息,還支持通過第三方供應(yīng)商進(jìn)行分布式追蹤。

更多詳情請參考:什么是 Envoy?

 
 
 
 
  1. https://www.jianshu.com/p/a6f7f46683e1?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 

方案暢想

應(yīng)用上面的原理,我們可以有很多具體的方案應(yīng)用于日常開發(fā)。

方案一:應(yīng)用 Istio 改造微服務(wù)

模仿在線書店的一個(gè)分類,顯示一本書的信息。頁面上會(huì)顯示一本書的描述,書籍的細(xì)節(jié)(ISBN、頁數(shù)等),以及關(guān)于這本書的一些評論。

應(yīng)用的端到端架構(gòu):Bookinfo 應(yīng)用中的幾個(gè)微服務(wù)是由不同的語言編寫的。

這些服務(wù)對 Istio 并無依賴,但是構(gòu)成了一個(gè)有代表性的服務(wù)網(wǎng)格的例子:它由多個(gè)服務(wù)、多個(gè)語言構(gòu)成,并且 reviews 服務(wù)具有多個(gè)版本。

用 Istio 改造后架構(gòu)如下:要在 Istio 中運(yùn)行這一應(yīng)用,無需對應(yīng)用自身做出任何改變。我們只需要把 Envoy Sidecar 注入到每個(gè)服務(wù)之中。

最終的部署結(jié)果將如下圖所示:

所有的微服務(wù)都和 Envoy Sidecar 集成在一起,被集成服務(wù)所有的出入流量都被 Sidecar 所劫持。

這樣就為外部控制準(zhǔn)備了所需的 Hook,然后就可以利用 Istio 控制平面為應(yīng)用提供服務(wù)路由、遙測數(shù)據(jù)收集以及策略實(shí)施等功能。

更多細(xì)節(jié),請移步官網(wǎng)示例:

 
 
 
 
  1. https://istio.io/latest/zh/docs/examples/bookinfo/ 

方案二:用 Istio 改造 CI/CD 流程

對上述流程圖簡單解釋一下:

  • 通過 Docker 對代碼進(jìn)行容器化處理。
  • 通過 Gitlab 托管代碼。
  • Jenkins 監(jiān)聽 Gitlab 下的代碼,觸發(fā)自動(dòng)構(gòu)建,并執(zhí)行 Kustomize 文件。
  • Kustomize 通過配置文件,設(shè)置了 Istio 的配置(染色識別、流量分發(fā)),并啟動(dòng) K8s 部署應(yīng)用。
  • 最終我們通過 Rancher 來對多容器進(jìn)行界面化管理。
  • 打開瀏覽器進(jìn)行訪問。

看到這里,相信你也了解了,我們實(shí)現(xiàn)了一個(gè)前端多容器化部署的案例。

它有什么意義呢?

  • 首先,當(dāng)然是環(huán)境隔離了,研發(fā)每人一個(gè)容器開發(fā),互不干擾。
  • 其次,我們可以做很多小流量、灰度發(fā)布等事情。
  • 自動(dòng)化部署,一站式的流程體驗(yàn)。

如果你對容器化還不太了解,請先看看前面兩篇文章:

  • Docker 邊學(xué)邊用
  • 一文了解 Kubernetes

Istio 還是有很多可圈可點(diǎn)的地方,相信看到這里你也有了更全面的認(rèn)識。如果你想深入了解,不妨仔細(xì)研究官方示例,并且在實(shí)際項(xiàng)目中不斷打磨。

參考資料:

  • Istio 官網(wǎng)
  • 什么是 Envoy
  • 微服務(wù)之 Service Mesh
  • 什么是 Service Mesh
  • Istio 如何連接、管理和保護(hù)微服務(wù) 2.0?
  • 在 MOSN 中玩轉(zhuǎn) dubbo-go

作者:jartto

編輯:陶家龍

征稿:有投稿、尋求報(bào)道意向技術(shù)人請聯(lián)絡(luò) editor@

【原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為.com】


分享標(biāo)題:Istio+K8s,微服務(wù)的雙劍合璧!
分享網(wǎng)址:http://www.5511xx.com/article/dhjdgpe.html