溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

EKS如何應(yīng)對(duì)突發(fā)流量

發(fā)布時(shí)間:2022-01-11 17:40:09 來(lái)源:億速云 閱讀:162 作者:iii 欄目:云計(jì)算

本篇內(nèi)容介紹了“EKS如何應(yīng)對(duì)突發(fā)流量”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

前言

混合云是一種部署形態(tài),一方面企業(yè)可從資產(chǎn)利舊、成本控制、控制風(fēng)險(xiǎn)減少鎖定等角度選擇混合云。另一方面企業(yè)也可以通過(guò)混合業(yè)務(wù)部署獲得不同云服務(wù)商的相對(duì)優(yōu)勢(shì)能力,以及讓不同云服務(wù)商的能力差異形成互補(bǔ)。 而容器和混合云是天作之合,基于容器標(biāo)準(zhǔn)化封裝,大大降低了應(yīng)用運(yùn)行環(huán)境與混合云異構(gòu)基礎(chǔ)設(shè)施的耦合性,企業(yè)更易于實(shí)現(xiàn)多云/混合云敏捷開(kāi)發(fā)和持續(xù)交付,使應(yīng)用多地域標(biāo)準(zhǔn)管理化成為可能。 TKE 容器團(tuán)隊(duì)提供了一系列的產(chǎn)品能力來(lái)滿足混合云場(chǎng)景,本文介紹其中針對(duì)突發(fā)流量場(chǎng)景的產(chǎn)品特性——第三方集群彈 EKS。

低成本擴(kuò)容

IDC 的資源是有限的,當(dāng)有業(yè)務(wù)突發(fā)流量需要應(yīng)對(duì)時(shí),IDC 內(nèi)的算力資源可能不足以應(yīng)對(duì)。選擇使用公有云資源應(yīng)對(duì)臨時(shí)流量是不錯(cuò)的選擇,常見(jiàn)的部署架構(gòu)為:在公有云新建一個(gè)集群,將部分工作負(fù)載部署到云上,通過(guò) DNS 規(guī)則或負(fù)載均衡策略將流量路由到不同的集群:

EKS如何應(yīng)對(duì)突發(fā)流量

此種模式下,業(yè)務(wù)的部署架構(gòu)發(fā)生了變化,因此在使用前需要充分評(píng)估:

  1. 哪些業(yè)務(wù)工作負(fù)載需要在云上部署,是全部還是部分;

  2. 云上部署的業(yè)務(wù)是否有環(huán)境依賴(lài),例如 IDC 內(nèi)網(wǎng) DNS、DB、公共服務(wù)等;

  3. 云上、云下業(yè)務(wù)日志、監(jiān)控?cái)?shù)據(jù)如何統(tǒng)一展示;

  4. 云上、云下業(yè)務(wù)流量調(diào)度規(guī)則;

  5. CD 工具如何適配多集群業(yè)務(wù)部署;

這樣的改造投入對(duì)于需要長(zhǎng)期維持多地域接入的業(yè)務(wù)場(chǎng)景來(lái)說(shuō)是值得的,但對(duì)于突發(fā)流量業(yè)務(wù)場(chǎng)景來(lái)說(shuō)成本較高。因此我們針對(duì)這種場(chǎng)景推出了便捷在單集群內(nèi)利用公有云資源應(yīng)對(duì)突發(fā)業(yè)務(wù)流量的能力:第三方集群彈 EKS,EKS是騰訊云彈性容器服務(wù),可以秒級(jí)創(chuàng)建和銷(xiāo)毀大量 POD 資源,用戶僅需提出 POD 資源需求即可,無(wú)需維護(hù)集群節(jié)點(diǎn)可用性,對(duì)于彈性的場(chǎng)景來(lái)說(shuō)是非常合適的。僅需要在集群中安裝相關(guān)插件包即可快速獲得擴(kuò)容到 EKS 的能力。

EKS如何應(yīng)對(duì)突發(fā)流量

與直接使用云上虛擬機(jī)節(jié)點(diǎn)相比,此種方式擴(kuò)縮容更快,并且我們還提供了2種調(diào)度機(jī)制來(lái)滿足客戶的調(diào)度優(yōu)先級(jí)需求:

全局開(kāi)關(guān): 在集群層面,當(dāng)集群資源不足時(shí),任何需要新創(chuàng)建Pod的工作負(fù)載都可以將副本創(chuàng)建到騰訊云 EKS 上;

局部開(kāi)關(guān): 在工作負(fù)載層面,用戶可指定單個(gè)工作負(fù)載在本集群保留N個(gè)副本后,其他副本在騰訊云 EKS 中創(chuàng)建;

為了確保所有工作負(fù)載在本地 IDC 均有足夠的副本數(shù),當(dāng)突發(fā)流量過(guò)去,觸發(fā)縮容時(shí),支持優(yōu)先縮容騰訊云上 EKS 副本(需要使用 TKE 發(fā)行版集群,關(guān)于 TKE 發(fā)行版的詳細(xì)介紹,請(qǐng)期待后續(xù)發(fā)布的該系列文章)。

EKS如何應(yīng)對(duì)突發(fā)流量

這種模式下,業(yè)務(wù)部署架構(gòu)沒(méi)有發(fā)生變化,在單集群中即可彈性使用云上資源,避免了引入業(yè)務(wù)架構(gòu)改造、CD流水線改造、多集群管理、監(jiān)控日志統(tǒng)等一系列衍生問(wèn)題,并且云上資源的使用是按需使用,按需計(jì)費(fèi),大大降低了用戶使用成本。但為了保障工作負(fù)載的安全性和穩(wěn)定性,我們要求用戶的 IDC 與騰訊云公有云 VPC 專(zhuān)線互通,并且用戶也需要從存儲(chǔ)依賴(lài)、延時(shí)容忍度等多方面評(píng)估適用性。

EKS pod 可與 underlay 網(wǎng)絡(luò)模式的本地集群 pod、node 互通(需要在騰訊云VPC中添加本地pod cidr的路由,參考路由配置),第三方集群彈 EKS 已在 TKEStack中開(kāi)源,詳細(xì)使用方式和示例見(jiàn) 使用文檔

實(shí)戰(zhàn)演示

步驟

獲取 tke-resilience helm chart
git clone https://github.com/tkestack/charts.git
配置 VPC 信息:

編輯 charts/incubator/tke-resilience/values.yaml,填寫(xiě)以下信息:

cloud:
appID: "{騰訊云賬號(hào)APPID}" 
ownerUIN: "{騰訊云用戶賬號(hào)ID}"
secretID: "{騰訊云賬號(hào)secretID}"
secretKey: "{騰訊云賬號(hào)secretKey}"
vpcID: "{EKS POD放置的VPC ID}"
regionShort: {EKS POD 放置的region簡(jiǎn)稱(chēng)}
regionLong: {EKS POD 放置的region全稱(chēng)}
subnets:
- id: "{EKS POD 放置的子網(wǎng)ID}"
zone: "{EKS POD 放置的可用區(qū)}"
eklet:
podUsedApiserver: {當(dāng)前集群的API Server地址}
安裝 tke-resilience helm chart
helm install tke-resilience --namespace kube-system ./charts/incubator/tke-resilience/

確認(rèn) chart pod 工作正常

EKS如何應(yīng)對(duì)突發(fā)流量

創(chuàng)建 demo 應(yīng)用 nginx:ngx1

效果演示:

全局調(diào)度

由于此特性默認(rèn)已開(kāi)啟,我們先將kube-system 中 的 AUTO_SCALE_EKS 設(shè)置為 false 默認(rèn)情況下,ngx1 副本數(shù)為1 EKS如何應(yīng)對(duì)突發(fā)流量 將ngx1副本數(shù)調(diào)整為50 EKS如何應(yīng)對(duì)突發(fā)流量

可以看到有大量 POD 因?yàn)橘Y源不足,處于 pending 狀態(tài) 將 kube-system 中 的 AUTO_SCALE_EKS 設(shè)置為 true 后,短暫等待后,觀察pod狀態(tài),原本處于 pend的pod,被調(diào)度到了 EKS 虛擬節(jié)點(diǎn):eklet-subnet-167kzflm 上。

EKS如何應(yīng)對(duì)突發(fā)流量

指定調(diào)度

我們?cè)俅螌?ngx1 的副本數(shù)調(diào)整為1 EKS如何應(yīng)對(duì)突發(fā)流量 編輯 ngx1 yaml,設(shè)置開(kāi)啟局部開(kāi)關(guān)

spec:
    template:
        metadata:
            annotations:
            # 打開(kāi)局部開(kāi)關(guān)
                AUTO_SCALE_EKS: "true"
            # 設(shè)置需要在本地集群創(chuàng)建的副本個(gè)數(shù)
                LOCAL_REPLICAS: "2""
        spec:
            # 使用tke調(diào)度器
               schedulerName: tke-scheduler

將 ngx1 副本數(shù)改為3,盡管本地集群沒(méi)有出現(xiàn)資源不足,但可以看到,超過(guò)2個(gè)本地副本后,第三個(gè)副本被調(diào)度到了EKS上 EKS如何應(yīng)對(duì)突發(fā)流量

卸載 tke-resilience 插件

helm uninstall tke-resilience -n=kube-system

此外 TKEStack 已集成 tke-resilience,用戶可以在 TKEStack 的應(yīng)用市場(chǎng)中界面化安裝 tke-resilience EKS如何應(yīng)對(duì)突發(fā)流量

應(yīng)用場(chǎng)景

云爆發(fā)

電商促銷(xiāo)、直播等需要在短時(shí)間擴(kuò)容大量臨時(shí)工作負(fù)載的場(chǎng)景,這種場(chǎng)景下,資源需求時(shí)間非常短,為了應(yīng)對(duì)這種短周期需求而在日常儲(chǔ)備大量資源,勢(shì)必會(huì)有比較大的資源浪費(fèi),且資源需求量隨每次活動(dòng)變化難以準(zhǔn)確評(píng)估。使用此功能,您無(wú)需關(guān)注于資源籌備,僅需依靠K8S的自動(dòng)伸縮功能,即可快速為業(yè)務(wù)創(chuàng)建出大量工作負(fù)載為業(yè)務(wù)保駕護(hù)航,流量峰值過(guò)去后,云上POD會(huì)可優(yōu)先銷(xiāo)毀,確保無(wú)資源浪費(fèi)的情況。

離線計(jì)算

大數(shù)據(jù)、AI業(yè)務(wù)場(chǎng)景下,計(jì)算任務(wù)對(duì)算力亦有高彈性要求。為保障任務(wù)快速計(jì)算完成,需要在短時(shí)間能有大量算力支撐,而計(jì)算完成后,算力同樣處于低負(fù)載狀態(tài),計(jì)算資源利用率呈高波動(dòng)型,形成了資源浪費(fèi)。并且由于GPU資源的稀缺性,用戶自己囤積大量GPU設(shè)備不僅成本非常高,還會(huì)面臨資源利用率提升,新卡適配,老卡利舊,異構(gòu)計(jì)算等多種資源管理問(wèn)題,而云上豐富的GPU卡型可為用戶提供更多樣的選擇,即用即還的特性也確保了資源零浪費(fèi),每一分錢(qián)都真正化在真實(shí)的業(yè)務(wù)需求上。

“EKS如何應(yīng)對(duì)突發(fā)流量”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

eks
AI