云原生集成開發(fā)環(huán)境——TitanIDE
通過網(wǎng)頁(yè)在任何地方更安全、更高效地編碼2022-05-26
1070
許多 Istio 用戶希望將他們的虛擬機(jī)連接到他們的服務(wù)網(wǎng)格,但通常的過程可能非常繁瑣且難以自動(dòng)化。本系列介紹了一種更簡(jiǎn)單的方法,可以將外部應(yīng)用程序安全地連接到在服務(wù)網(wǎng)格中運(yùn)行的應(yīng)用程序。該解決方案對(duì)于某些用例(例如單向 VM 到網(wǎng)狀通信)非常有效,并且對(duì)替代方案進(jìn)行了一些權(quán)衡。
將虛擬機(jī)添加到 Istio 服務(wù)網(wǎng)格
如 第 1 部分所述,為了降低虛擬機(jī)初始化的復(fù)雜性,我們不會(huì)使用當(dāng)前 記錄的方法將其注冊(cè)到 Istio 。相反,我們將直接向虛擬機(jī)頒發(fā)證書并手動(dòng)配置在虛擬機(jī)中運(yùn)行的特使實(shí)例,以通過東/西網(wǎng)關(guān)與網(wǎng)格通信。首先,我們需要組織我們的證書,以便服務(wù)網(wǎng)格應(yīng)用程序信任這些外部工作負(fù)載。
證書管理
由于 Istio 不會(huì)為虛擬機(jī)頒發(fā)證書,因此需要通過其他方式創(chuàng)建和管理它。為了讓 Istio 信任來自虛擬機(jī)的流量,頒發(fā)的證書必須植根于與服務(wù)網(wǎng)格應(yīng)用程序相同的信任鏈中。
組織證書的最簡(jiǎn)單方法是創(chuàng)建共享根 CA。然后,可以頒發(fā)兩個(gè)中間 CA 證書并用于創(chuàng)建 Istio 工作負(fù)載和虛擬機(jī)證書。虛擬機(jī) CA 可以很容易地由 Hashicorp 的 Vault 等第三方證書管理系統(tǒng)管理。
Istio 設(shè)置和部署
Istio 接受外部安全連接的設(shè)置非常簡(jiǎn)單。使用 IstioOperator 配置需要?jiǎng)?chuàng)建東/西網(wǎng)關(guān)并將其配置為通過連接。
創(chuàng)建東西方網(wǎng)關(guān)
下面是一個(gè)安裝 istiod 和上面顯示的東西向網(wǎng)關(guān)的 Istio 示例。 PILOT_SKIP_VALIDATE_TRUST_DOMAIN 啟用,以便虛擬機(jī)可以擁有自己的 SPIFFE ID 格式。
我們還需要告訴東西網(wǎng)關(guān)將安全請(qǐng)求轉(zhuǎn)發(fā)到網(wǎng)格內(nèi)的預(yù)期目的地。為此,我們創(chuàng)建了一個(gè)簡(jiǎn)單的 Istio 網(wǎng)關(guān)配置。
配置自動(dòng)向 AUTO_PASSTRHOUGH 東西網(wǎng)關(guān)注冊(cè)網(wǎng)格應(yīng)用程序。您可以通過運(yùn)行以下 istioctl 命令來查看可用的服務(wù)。
請(qǐng)務(wù)必注意您希望與之通信的網(wǎng)格應(yīng)用程序的 SNI 值,因?yàn)?Envoy 配置中將需要它們。
虛擬機(jī)配置
由于我們不會(huì)將虛擬機(jī)中的 envoy 連接到外部 xDS 服務(wù)器,因此我們需要手動(dòng)提供其配置。我們需要為虛擬機(jī)應(yīng)用程序創(chuàng)建一個(gè)入站偵聽器以進(jìn)行通信。
Envoy 監(jiān)聽器和路由器
然后我們需要配置流量需要發(fā)送到哪里。如“Istio 設(shè)置和部署”部分所示,所有流量都將通過 mTLS 代理到網(wǎng)格應(yīng)用程序。下面是我們需要?jiǎng)?chuàng)建的集群資源,以便與網(wǎng)格應(yīng)用程序進(jìn)行安全通信。這也是我們使用生成的證書來加密通信的地方。
sni
該字段是東西向網(wǎng)關(guān)用來將流量轉(zhuǎn)發(fā)到正確的網(wǎng)狀應(yīng)用程序的字段。它需要匹配 istioctl proxy-config listener 上面命令中顯示的網(wǎng)格應(yīng)用程序的偵聽器。
alpn協(xié)議
當(dāng)從 sidecar 到 sidecar 通信時(shí),Istio 使用自己的 alpn 協(xié)議。需要與網(wǎng)狀服務(wù)建立直接的 mTLS 通信。這也需要使用必要的 Istio 擴(kuò)展來構(gòu)建 envoy 以使用這些協(xié)議。例如,如果在 docker-compose 中運(yùn)行 Envoy,請(qǐng)使用 istio-proxy Envoy 構(gòu)建來安裝它們。
tls_certificates
生成的客戶端 mTLS 證書應(yīng)在此集群配置塊中安裝和引用。
-----------------------------------
博客原文出處:
gRPC/JSON 轉(zhuǎn)碼
要使基于 HTTP REST 的應(yīng)用程序能夠與基于 gRPC 的應(yīng)用程序通信,請(qǐng)更新偵聽器以進(jìn)行轉(zhuǎn)碼。這要求網(wǎng)格應(yīng)用程序的原型定義也存在于虛擬機(jī)上。
------------------------------------------------------------------
原文出處:https://www.solo.io/blog/add-virtual-machines-to-istio-service-mesh/
------------------------------------------------------------------
樂魚創(chuàng)新
- 全國(guó)領(lǐng)先的一站式云原生開發(fā)平臺(tái)廠商,國(guó)家高新技術(shù)企業(yè)
- 上汽、格力、華為、中信銀行等各行業(yè)頭部企業(yè)信賴
- 阿里云戰(zhàn)略投資企業(yè)
樂魚創(chuàng)新是領(lǐng)域的佼佼者,其產(chǎn)品在廣西貴港智慧城市、長(zhǎng)三角產(chǎn)學(xué)研一體化創(chuàng)新平臺(tái)、海爾工業(yè)互聯(lián)網(wǎng)、中信銀行核心系統(tǒng)建設(shè)等項(xiàng)目中起到關(guān)鍵的支撐作用。同時(shí),作為信創(chuàng)工委會(huì)成員,行云打造業(yè)界領(lǐng)先的“信創(chuàng)與非信創(chuàng)統(tǒng)管、一鍵向信創(chuàng)遷移”的方案,并在某大型國(guó)有銀行取得了良好的實(shí)踐效果。
SolarMesh,高效可視化平臺(tái)
基于 Istio 及容器技術(shù),提供流量監(jiān)控和管理,提供完善的非侵入式服務(wù)治理解決方案。幫助企業(yè)在紛繁復(fù)雜的微服務(wù)調(diào)度中快速定位問題,增強(qiáng)研發(fā)效率。
SolarMesh,讓不再難學(xué)難用,讓服務(wù)網(wǎng)格在企業(yè)落地更加平滑、安全、穩(wěn)定。
SolarMesh 在線體驗(yàn)環(huán)境 地址>