宝贝腿开大点我添添你视频男男,中文字幕熟女人妻av一区二区三区,爱色成人网,大地资源高清播放在线观看在线电影在线观看 ,777米奇影视第四色

集團(tuán)站切換校區(qū)

驗(yàn)證碼已發(fā)送,請(qǐng)查收短信

復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開(kāi)微信
圖標(biāo)

業(yè)界新聞

當(dāng)前位置:首頁(yè) > >業(yè)界新聞 > >

VMware 擴(kuò)展云原生應(yīng)用的新方法

發(fā)布時(shí)間: 2021-06-17 11:41:42

為了將運(yùn)行在 Kubernetes 集群內(nèi)部 Pod 上的應(yīng)用程序投入使用,需要啟用 K8S 集群上的服務(wù)(Service):NodePort 或 ClusterIP,然后再經(jīng)過(guò)外部 LoadBalancer 或 Ingress 功能,將服務(wù)發(fā)布為可被集群外部客戶端訪問(wèn)的 IP 地址或者FQDN。


NodePort 是在 Kubernetes 集群上提供的一種簡(jiǎn)便的服務(wù)發(fā)布方式:


1.在每個(gè) Node 上公開(kāi)一個(gè) Port(即使 Pod 不在該 Node上),對(duì)應(yīng)到實(shí)際 Pod 的服務(wù)端口,客戶端需要訪問(wèn)應(yīng)用時(shí),流量被發(fā)送到特定的NodeIP:Port;


2.對(duì) Node IP:Port 的訪問(wèn)流量,由運(yùn)行在每個(gè)節(jié)點(diǎn)上的 kube-proxy 負(fù)責(zé) Pod 之間重新分配流量。


雖然,NodePort 類型的服務(wù)是創(chuàng)建用于外部連接的(和任何應(yīng)用程序容器)的快捷解決方案,不需要額外規(guī)劃 IP 地址空間,但它具有以下缺點(diǎn):


1.如果配置允許由 Kube-Proxy 在集群范圍內(nèi)進(jìn)行外部流量的負(fù)載均衡( externalTrafficPolicy=Cluster ),那么目標(biāo) Pod 有可能不在第一跳 Node 上,需要進(jìn)行節(jié)點(diǎn)間的第二跳路由轉(zhuǎn)發(fā);這種情況下,需要對(duì)傳入流量執(zhí)行源地址翻譯( SNAT ),外部負(fù)載均衡器無(wú)法保證會(huì)話持久性。



02.如果配置僅允許 Kube-Proxy 在節(jié)點(diǎn)內(nèi)部進(jìn)行負(fù)載均衡( externalTrafficPolicy=Local ),那么由外部負(fù)載均衡器傳入到節(jié)點(diǎn)上的流量,將僅限于被發(fā)送到運(yùn)行在本節(jié)點(diǎn)上的 Pod ;這種情況下,Pod 在節(jié)點(diǎn)上的實(shí)際分布情況可能會(huì)導(dǎo)致不均衡的負(fù)載分擔(dān)。如下圖:外部負(fù)載均衡器只將2個(gè)后端節(jié)點(diǎn)作為服務(wù)池成員,所有進(jìn)入的訪問(wèn)請(qǐng)求按照50:50比例分配給這2個(gè)節(jié)點(diǎn);但 Node -1上有2個(gè) Pod 分擔(dān)這50%的任務(wù),而 Node -2 上僅有1個(gè) Pod 承擔(dān)50%的任務(wù)量。


03.出于簡(jiǎn)單配置和使用的目的,在每個(gè) Node 上對(duì)外曝露相同的 Port,即便是該節(jié)點(diǎn)上并沒(méi)有運(yùn)行Pod實(shí)例。如在上圖中增加一個(gè)空載的“ Node-3 ”,外部負(fù)載均衡器發(fā)送給 Node-3 的流量將由 Kube-Proxy 轉(zhuǎn)發(fā)給 Node-1 或 Node-2 ,增加了轉(zhuǎn)發(fā)步驟;而且,外部負(fù)載均衡器無(wú)法通過(guò)健康檢查的方式發(fā)現(xiàn), Node -3上并沒(méi)有運(yùn)行應(yīng)用 Pod 實(shí)例。


04.出于簡(jiǎn)單配置和使用的目的,在每個(gè) Node 上對(duì)外曝露相同的 Port ,但存在給定 Port 在某個(gè) Node 上已被占用的可能性,此時(shí)就需要在所有節(jié)點(diǎn)上尋找并使用下一個(gè)可用的端口號(hào)。隨著(采用NodePort 類型的)服務(wù)數(shù)量的不斷增加,最終將很快達(dá)到 Port 范圍限制。


NodePortLocal 解決方案


VMware 提出了一種解決方案,使用 CNI Antrea 和NSX 高級(jí)負(fù)載均衡(以下簡(jiǎn)稱 NSX-ALB)相結(jié)合,實(shí)現(xiàn)稱為“ NodePortLocal ”( NPL )的技術(shù)方案來(lái)解決上述問(wèn)題。NodePortLocal 提供了一種在 Kubernetes 集群的每個(gè)節(jié)點(diǎn)上、為每個(gè) Pod 提供專屬“ NodeIP:Port ”映射來(lái)曝露后端服務(wù)的方法。


注:


· Antrea 項(xiàng)目是一個(gè) VMware 貢獻(xiàn)的開(kāi)源 Kubernetes CNI 網(wǎng)絡(luò)插件解決方案,基于 Open vSwitch(OVS), 旨在提供 Kubernetes 原生的、高效、安全、跨平臺(tái)的 CNI 和 NetworkPolicy 。2021年5月6日,經(jīng)過(guò)云原生計(jì)算基金會(huì)( CNCF )技術(shù)監(jiān)督委員會(huì)( TOC )投票通過(guò), VMware 開(kāi)源項(xiàng)目 Antrea 正式成為沙箱級(jí)項(xiàng)目( Sandbox Level Project )。


· NSX-ALB AKO 是一個(gè)Kubernetes 環(huán)境中的 Operator,用作 LoadBalancer 和 Ingress Controller,它作為集群中的 pod 運(yùn)行,并通過(guò) NSX-ALB 控制器將所需的 Kubernetes 服務(wù)轉(zhuǎn)換為 NSX-ALB 配置,在NSX-ALB的轉(zhuǎn)發(fā)服務(wù)引擎 (SE) 上自動(dòng)實(shí)現(xiàn) Ingresses/Routes/Services。


· Antrea 和 AKO 在原生 Kubernetes、VMware Tanzu 和 Openshift Container Platform 環(huán)境中均可以使用。


配置步驟


為了完成此任務(wù),需要以下步驟完成NPL的配置。(略過(guò) Antrea 和 AKO 的基本安裝、配置和使用方法的介紹)


1. 在 K8S 環(huán)境中進(jìn)入 Antrea ConfigMap 編輯模式:kubectl edit -n kube-system cm antrea-config-xxxxxxxxxx


2. 啟用 NodePortLocal


3.(可選)設(shè)定用于 NPL 映射的端口范圍,避免與仍在使用的 NodePort 服務(wù)沖突;


4. 保存 Antrea ConfigMap 配置,重新啟動(dòng) Antrea 代理 Pod;


5. 在 NSX-ALB AKO 的 yaml 配置文件中,設(shè)定啟用 NPL 服務(wù)類型:


6. 保存 AKO 配置并更新到 AKO Pod。


采用NPL進(jìn)行L4服務(wù)發(fā)布


1. 在 Kubernetes 集群中創(chuàng)建 Deployment 。本例在具有3個(gè)工作節(jié)點(diǎn)的集群上部署了4個(gè) httpd Pod:


2. 通過(guò) ServiceType=LoadBalancer 參數(shù),將此應(yīng)用曝露出去( Antrea 代理在后臺(tái)監(jiān)聽(tīng)這一服務(wù)的創(chuàng)建,按照 NodePortLocal 的模式工作):


3. NSX-ALB 的 AKO 感知到集群上的服務(wù)變化,并生成對(duì)應(yīng)的負(fù)載均衡配置,在 NSX-ALB 控制器的管理界面上,可以看到 AKO 已經(jīng)將上述服務(wù)發(fā)布出去(下圖)。


NPL 有以下特點(diǎn):


a. 將每個(gè) Pod 對(duì)外曝露為一個(gè)專屬的 NodeIP:Port 組合方式。本例中,worker-node-23(192.168.30.23)節(jié)點(diǎn)上部署了2個(gè) Pod ,因此將它們分別映射為192.168.30.23:40000和192.168.30.23:40001。NodePortLocal 可以在不同節(jié)點(diǎn)上使用不同的 Port 曝露同一應(yīng)用(而 NodePort 要求在所有節(jié)點(diǎn)上為同一應(yīng)用綁定同樣的 Port ,即便這個(gè)節(jié)點(diǎn)上沒(méi)有運(yùn)行該應(yīng)用的 Pod)。對(duì)比之下,NodePortLocal 更加靈活地使用每個(gè)節(jié)點(diǎn)上的可用 Port,降低了端口資源消耗。


b. NSX-ALB 作為 Kubernetes 的外部負(fù)載均衡器,將4個(gè) NodeIP:Port 作為后端服務(wù)池,進(jìn)行負(fù)載均衡決策和轉(zhuǎn)發(fā),避免了多個(gè) Pod 上的任務(wù)量不均衡。


c. 不需要像 ClusterIP 方式那樣單獨(dú)設(shè)置服務(wù)地址范圍,不需要針對(duì) ClusterIP 或 Pod IP 的靜態(tài)路由——所有流量指向每個(gè) NodeIP:Port,NSX-ALB 只需按照節(jié)點(diǎn)地址進(jìn)行一跳路由,集群內(nèi)不對(duì)此流量進(jìn)行東西向轉(zhuǎn)發(fā)。


d. NPL 在每個(gè)節(jié)點(diǎn)上編寫(xiě)了 iptable DNAT (目的地址翻譯)規(guī)則來(lái)完成 NodeIP:Port<->PodIP:Port 的映射和轉(zhuǎn)換,外部負(fù)載均衡器只感知并使用 NodeIP:Port,因此,可以在多個(gè) K8S 集群上支持重疊的 Pod 網(wǎng)絡(luò)地址段。


e. NSX-ALB 作為外部負(fù)載均衡器,對(duì)進(jìn)入集群的流量只進(jìn)行目的地址翻譯( DNAT),不進(jìn)行源地址翻譯(SNAT),應(yīng)用程序 Pod 看到的是原始客戶端 IP,因?qū)崿F(xiàn)會(huì)話持久性是可能的。


f. NSX-ALB 負(fù)載均衡器可以通過(guò) NodeIP:Port 直達(dá)每個(gè) Pod上 的應(yīng)用端口,可以直接監(jiān)控每個(gè)應(yīng)用的健康狀況,并可以據(jù)此做出負(fù)載均衡決策。


采用NPL輔助L7應(yīng)用發(fā)布

在 Kubernetes 集群上使用 Ingress 進(jìn)行 L7 應(yīng)用發(fā)布時(shí),應(yīng)先創(chuàng)建 L4 服務(wù)(比如, NodePort ),再通過(guò) Ingress Controller 識(shí)別L4服務(wù),并按照管理員配置的策略,創(chuàng)建 L7 Ingress ,實(shí)現(xiàn)對(duì)應(yīng)用的L7路由(比如,依據(jù) URI 規(guī)則選擇后端服務(wù)器)。


VMware NSX-ALB 應(yīng)用交付方案可以與 CNI Antrea 中的 NodePortLocal 功能配合使用,將 NodePortLocal 創(chuàng)建的L4服務(wù)通過(guò) Ingress 發(fā)布出去。


配置步驟要點(diǎn)如下:


1. 在 Kubernetes 集群中創(chuàng)建 Deployment。本例在具有3個(gè)節(jié)點(diǎn)的集群上部署了4個(gè) httpd Pod:


2. 通過(guò) ServiceType=ClusterIP 參數(shù),將此應(yīng)用曝露出去,服務(wù)名稱為“svc-lb-httpd”(Antrea 代理在后臺(tái)監(jiān)聽(tīng)這一服務(wù)的創(chuàng)建,按照 NodePortLocal 的模式工作):


3. NSX-ALB 在集群上安裝 AKO Pod,作為 Ingress Controller,默認(rèn)采用“avi-lb”作為 ingressClassName,為服務(wù)“svc-lb-httpd”創(chuàng)建 Ingress,使用 yaml 文件示例如下:


4. 在 NSX 應(yīng)用交付控制器上,可以看到為上述應(yīng)用創(chuàng)建了 L7 虛擬服務(wù),后端服務(wù)器池中 NodeIP:Port 映射方式表明,這采用的是 NodePortLocal 模式。


總結(jié),“ NodePortLocal”( NPL )是 CNI 項(xiàng)目 Antrea 中提出的,可以提高在節(jié)點(diǎn)上通過(guò)端口映射的方式對(duì)外發(fā)布應(yīng)用的效率,簡(jiǎn)化云原生應(yīng)用投入生成過(guò)程的配置步驟。NPL 與 NSX AKO 相結(jié)合,將 NSX 應(yīng)用交付平臺(tái)上作為 Kubernetes 集群的外部負(fù)載均衡器 /Ingress Controller,這種“一步到位”的 做法是 VMware 對(duì)云原生應(yīng)用的最新貢獻(xiàn)。


上一篇: ORACLE數(shù)據(jù)庫(kù)打開(kāi)報(bào)ORA-03113錯(cuò)誤簡(jiǎn)單快速辦法

下一篇: 5G RRC Inactive態(tài)移動(dòng)性管理

在線咨詢 ×

您好,請(qǐng)問(wèn)有什么可以幫您?我們將竭誠(chéng)提供最優(yōu)質(zhì)服務(wù)!