自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Istio?1.16對環(huán)境網(wǎng)格和用戶意味著什么?

譯文
系統(tǒng)
雖然Istio 1.15沒有太多新的功能,但Istio 1.16做了許多改進。值得關(guān)注的,由于支持從N-2到N的版本跳過升級,Istio項目一直致力于對偶數(shù)版本號發(fā)布更多的改進,奇數(shù)版本號充當穩(wěn)定版本號,以便人們可以輕松實現(xiàn)從N-2到N的版本跳過升級。

?譯者 | 布加迪

審校 | 孫淑娟

雖然Istio 1.15沒有太多新的功能,但Istio 1.16做了許多改進。值得關(guān)注的,由于支持從N-2到N的版本跳過升級,Istio項目一直致力于對偶數(shù)版本號發(fā)布更多的改?進,奇數(shù)版本號充當穩(wěn)定版本號,以便人們可以輕松實現(xiàn)從N-2到N的版本跳過升級。

這篇博文重點介紹讓人特別興奮的Istio 1.16的幾項新功能和改進。

sidecar和ingress中支持基于HTTP的覆蓋網(wǎng)絡(luò)環(huán)境(HBONE)

我們在KubeCon US 2022大會上發(fā)現(xiàn)Istio環(huán)境網(wǎng)格(ambient mesh)大受追捧,用戶非常喜歡2層架構(gòu)以促進增量采用,在環(huán)境網(wǎng)格中添加工作負載異常簡單。環(huán)境網(wǎng)格還不是Istio 1.16的一部分,社區(qū)成立了一個專門的工作組,將環(huán)境網(wǎng)格推向Istio master視作重中之重。對于Istio 1.16或更新版本而言,社區(qū)通過在sidecar和ingress網(wǎng)關(guān)中添加HBONE支持,為sidecar與環(huán)境網(wǎng)格中的pod實現(xiàn)互操作鋪平了道路。

HBONE是一種用于服務(wù)間網(wǎng)格通信的新的隧道機制。這不是應(yīng)用程序所有者直接看到或使用的東西,因為它被設(shè)計成在代理之間幕后透明地操作(sidecar <-> ztunnel <-> waypoint proxy <-> gateway)??紤]到ztunnel和waypoint代理只能通過HBONE發(fā)送和接收流量,sidecar若要與它們進行互操作,sidecar就要知道目的地是否可以處理HBONE流量,并且只有在目的地能夠理解HBONE流量的情況下才可以通過HBONE發(fā)送流量(見圖1,App C到App A)。如果目的地不支持HBONE,sidecar繼續(xù)如往常一樣發(fā)送經(jīng)典的相互TLS流量(見圖1,App C到App B)。

圖1

同樣,sidecar從ztunnel或waypoint代理接收流量時知道如何終止HBONE流量(見圖2)。

圖2

為了探究這項功能,可以使用您偏愛的Istio安裝程序,安裝ambient配置文件即可,比如:

圖3

注意這個配置文件只為sidecar啟用HBONE,真正的環(huán)境模式很快就會實施。在部署注入sidecar的簡單的sleep應(yīng)用程序后,您會注意到network .istio.io /tunnel: HTTP標簽被添加到sleep,類似于security.istio.io/tlsMode: istio標簽。這個新的隧道標簽使Istio能夠知道代理是否支持HBONE。

圖4

鑒于這項功能是實驗性的,默認情況下被禁用,因此不建議您在生產(chǎn)環(huán)境中使用它。

發(fā)現(xiàn)選擇器方面的改進

聽取Solol.io大規(guī)模客戶的意見后,去年我們?yōu)镮stio上游貢獻了發(fā)現(xiàn)選擇器(discovery selector),以便用戶可以動態(tài)地限制作為網(wǎng)格一部分的命名空間集。我們對社區(qū)廣泛采用發(fā)現(xiàn)選擇器感到非常興奮,這使得Istio 1.16中的發(fā)現(xiàn)選擇器得到了改進!

您不僅可以使用發(fā)現(xiàn)選擇器來配置Kubernetes資源,借助1.16,還可以使用發(fā)現(xiàn)選擇器來配置Istio自定義資源,比如Gateway、VirtualService和DestinationRule等。此外,您可以利用發(fā)現(xiàn)選擇器來配置Istio控制平面。如果您想為特定的控制平面指定允許的網(wǎng)格命名空間,或者基于一個或多個命名空間的邊界為網(wǎng)格啟用軟性多租戶,這些改進非常有用。這一改進的最大好處是,對于開發(fā)人員來說,API方面沒有變化,您可以像1.16之前那樣繼續(xù)使用發(fā)現(xiàn)選擇器。

要啟用這項功能,您可以啟用發(fā)現(xiàn)選擇器以及ENABLE_ENHANCED_RESOURCE_SCOPING環(huán)境變量。下列YAML含有一個使用環(huán)境配置文件啟用這項功能的示例:

# The ambient profile has ambient mesh enabled
# Note: currently this only enables HBONE for sidecars, as the full ambient mode is not yet implemented.
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
discoverySelectors:
- matchLabels:
istio-discovery: enabled
defaultConfig:
proxyMetadata:
ISTIO_META_ENABLE_HBONE: "true"
values:
pilot:
env:
PILOT_ENABLE_INBOUND_PASSTHROUGH: "false"
PILOT_ENABLE_HBONE: "true"
ENABLE_ENHANCED_RESOURCE_SCOPING: "true"

用istio-discovery=enabled標記default和foo命名空間,顯示sleep部署的路由配置:

將review虛擬服務(wù)運用于foo和bar命名空間,然后顯示sleep部署的路由。您會注意到reviews.foo虛擬服務(wù)在路由列表中,但reviews.bar不在列表中。

默認情況下,Istio為Kubernetes集群中的每個命名空間創(chuàng)建istio -ca-root-cert配置映射,不管該命名空間在網(wǎng)格中是否有任何服務(wù)。1.16中發(fā)現(xiàn)選擇器得到改進后,您可以選擇創(chuàng)建配置映射的命名空間。如果顯示每個命名空間的配置映射,您會注意到istio-ca-root-cert配置映射是為default和foo命名空間創(chuàng)建的,而不是為bar命名空間創(chuàng)建的:

不僅可以為Kubernetes服務(wù)選擇哪些命名空間是網(wǎng)格的一部分,還可以為Istio資源選擇哪些命名空間是網(wǎng)格的一部分,這不是很好嗎?

Istio API和Kubernetes Gateway API

Istio 1.16的一個關(guān)鍵變化是Gateway API選項卡被添加到Istio現(xiàn)有API的旁邊,用于一些流量管理任務(wù),這是Istio采用Kubernetes Gateway API的結(jié)果。當您瀏覽流量管理任務(wù)時,會看到一些任務(wù)只能通過Istio API來完成,比如請求超時或故障注入。為什么?因為它們還不能被轉(zhuǎn)換成Gateway API。由于服務(wù)網(wǎng)格社區(qū)正致力于GAMMA項目,試圖跨Istio、Linkerd、Consul connect、Kuma和OSM為網(wǎng)格操作人員和開發(fā)人員實現(xiàn)網(wǎng)格API標準化,我們預(yù)計需要一段時間才能使網(wǎng)格API實現(xiàn)標準化,同時繼續(xù)使每個項目能夠創(chuàng)新,領(lǐng)先于通用API。作為GAMMA項目的貢獻者之一,我們對GAMMA以及基于角色的項目中立網(wǎng)格API作為GAMMA項目的一部分的前景方向感到興奮。

Wasm方面的改進

Istio社區(qū)采用由Solo.io發(fā)起的Wasm OCI映像規(guī)范是好事。最近規(guī)范方面有了改進,可支持多個層。比如說,您可以根據(jù)業(yè)務(wù)需求輕松添加另一層來標記鏡像。另一個令人興奮的變化是,在WasmPlugin資源中引入了traffic selector(流量選擇器),這使用戶能夠精確地選擇WasmPlugin資源應(yīng)該運用于哪路流量。您可能想知道:“這與通常面向服務(wù)生產(chǎn)者的工作負載選擇器有什么不同?”不指定任何流量選擇器配置,WasmPlugin用于通過工作負載選擇器選擇的目標工作負載,不管服務(wù)有哪些偵聽器。流量選擇器配置使您能夠根據(jù)某個特定端口來微調(diào)選擇器,并指定工作負載模式。

apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: httpbin-rust-test
namespace: httpbin
spec:
selector:
matchLabels:
app: httpbin
# Define traffic selector match conditions
# All conditions must evaluate to true for the plugin to be applied
match:
# Define the workload mode, valid options are: SERVER, CLIENT, CLIENT_AND_SERVER
- mode: SERVER
# Define port numbers to match. If not specified, all ports are matched
- ports:
- number: 80
url: oci://docker.io/dhawton/wasm-rust-test:v1

有了上述WasmPlugin資源面向httpbin工作負載的端口80服務(wù),我們可以將簡單的Wasm過濾器部署到httpbin的Envoy代理中,該代理從事非?;镜娜罩救蝿?wù),等待HTTP請求進入。發(fā)現(xiàn)路徑匹配后,插件將在暫停Envoy過濾器的其余部分之前返回418狀態(tài)碼和ASCII字符組成的ASCII字符。下列是Wasm過濾器的邏輯:

match self.get_http_request_header(":path") {
Some(path) if path == "/get" => {
info!("on_http_request_headers: {} - /get intercepted", self.context_id);
self.send_http_response(
418,
vec![("x-powered-by", "rust"), ("content-type", "text/plain")],
Some(TEAPOT_ASCII),
);
Action::Pause
}
_ => Action::Continue,
}

部署WasmPlugin配置后,我們可以看到端口80上httpbin的/get端點的curl被Wasm過濾器攔截,無需重新啟動httpbin部署。

我們?nèi)绾尾拍苎菔具x擇性匹配?我們將運用下列配置(將端口號80改成81)來演示W(wǎng)asm過濾器未被運用于httpbin流量:

apiVersion: extensions.istio.io/v1alpha1
kind: WasmPlugin
metadata:
name: httpbin-rust-test
namespace: httpbin
spec:
selector:
matchLabels:
app: httpbin
match:
- ports:
- number: 81
url: oci://docker.io/dhawton/wasm-rust-test:v1

如果我們運行同樣的curl,應(yīng)該會看到上面的WasmPlugin資源并沒有影響端口80上的httpbin工作負載,因此我們得到httpbin的預(yù)期響應(yīng)。

結(jié)語

Istio 1.16是社區(qū)發(fā)布的另一個令人興奮的版本。還有其他許多的改進在本文沒有介紹,請參閱??版本變更說明??以查看所有其他改進,包括:支持MAGLEV負載均衡算法、支持使用OpenTelemetry跟蹤提供程序以及Telemetry API以及新的遠程配置文件等。

原文標題:??Istio 1.16 is out, what does it mean for ambient mesh and you???,作者:Lin Sun和Daniel Hawton?

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2010-04-19 13:31:19

云計算

2019-04-03 11:05:47

DevOps敏捷開發(fā)開源

2010-05-04 10:00:27

虛擬化

2019-06-12 13:20:05

2022-05-27 11:05:08

零信任網(wǎng)絡(luò)安全

2022-09-09 16:06:45

零信任Kubernetes安全

2021-08-05 16:30:58

邊緣物聯(lián)網(wǎng)物聯(lián)網(wǎng)大數(shù)據(jù)

2011-07-19 10:11:53

AndroidHTC蘋果

2016-02-26 15:50:40

HTTP2

2017-06-06 11:44:45

FuchsiaAndroidGoogle

2023-01-05 10:16:27

2022-04-28 21:13:07

混合云多云

2018-12-09 22:59:49

微軟系統(tǒng)Windows

2019-10-29 12:13:36

Community開源代碼

2009-06-15 13:08:35

軟件測試編程

2022-09-06 14:35:34

區(qū)塊鏈以太坊NFT

2023-02-13 09:42:10

人工智能ChatGPT

2020-12-01 10:26:37

物聯(lián)網(wǎng)大數(shù)據(jù)IOT

2010-08-11 10:39:13

點贊
收藏

51CTO技術(shù)棧公眾號