騰訊云:像管理Pod一樣管理Node | TKE節(jié)點(diǎn)池全面上線

來(lái)源: 騰訊云原生
作者:晏子怡
時(shí)間:2020-12-20
17287
K8s最優(yōu)雅精妙的一個(gè)設(shè)計(jì)理念在于聲明式API的運(yùn)用,而Deployment又是其中的集大成者。

從K8s的聲明式設(shè)計(jì)理念談起

Pod模板

K8s最優(yōu)雅精妙的一個(gè)設(shè)計(jì)理念在于聲明式API的運(yùn)用,而Deployment又是其中的集大成者。

如果沒有Deployment,我們需要管理上萬(wàn)的單獨(dú)Pod,為每一個(gè)Pod設(shè)置合適的資源需求,容器鏡像版本,Label,Taints等屬性。同時(shí),我們還需要保證每一個(gè)業(yè)務(wù)對(duì)應(yīng)的Pod數(shù)量在合適的值,來(lái)適應(yīng)流量波動(dòng)并達(dá)到負(fù)載均衡。而通過(guò)Deployment提供的Pod模板的能力,我們可以編排Pod:模板中的屬性值代表我們的期望狀態(tài),Deployment會(huì)自動(dòng)維持管理的Pod在我們的期望狀態(tài),而這正是K8s的使用者真正關(guān)心的(我們并不關(guān)注從當(dāng)前狀態(tài)到理想狀態(tài)是如何達(dá)成的)。

Node模板

Deployment提供了Pod模板的能力,那節(jié)點(diǎn)呢?是否我們也可以提供類似節(jié)點(diǎn)模板的能力讓客戶去管理他們成千上萬(wàn)的節(jié)點(diǎn),無(wú)需一遍遍手動(dòng)配置參數(shù)新建節(jié)點(diǎn),反復(fù)封鎖和驅(qū)逐來(lái)釋放無(wú)用節(jié)點(diǎn)?基于聲明式這一種云原生設(shè)計(jì)理念,TKE推出了節(jié)點(diǎn)池,用戶可以利用節(jié)點(diǎn)模板功能,統(tǒng)一管理節(jié)點(diǎn),不需要一遍遍手動(dòng)填寫創(chuàng)建節(jié)點(diǎn)參數(shù),也不需要人工計(jì)算可以容納業(yè)務(wù)流量的節(jié)點(diǎn)數(shù)目。后續(xù)TKE會(huì)圍繞節(jié)點(diǎn)池規(guī)劃自動(dòng)升級(jí)和自動(dòng)修復(fù)功能,用戶只需關(guān)注節(jié)點(diǎn)池內(nèi)節(jié)點(diǎn)是否在期望K8s版本以及期望狀態(tài)即可。

其他生態(tài)能力

為了豐富聲明式的使用方式,節(jié)點(diǎn)池也會(huì)規(guī)劃通過(guò)CRD來(lái)管理節(jié)點(diǎn)池,服務(wù)偏好K8s API的客戶。您也可以把節(jié)點(diǎn)池和其他云資源統(tǒng)一編排,TKE與騰訊云Terraform團(tuán)隊(duì)合作,支持基于IaC(Infrastructure-as-code)的理念來(lái)編排節(jié)點(diǎn)池,該功能即將于12月底上線。

使用場(chǎng)景

有TKE重點(diǎn)客戶反饋:由于業(yè)務(wù)增長(zhǎng),客戶每天都需要擴(kuò)百余臺(tái)機(jī)器,通過(guò)節(jié)點(diǎn)池只需一鍵調(diào)整數(shù)量即可完成擴(kuò)容,體驗(yàn)比單節(jié)點(diǎn)模式好太多(需要填很多參數(shù),并且創(chuàng)建后不好管理)。此外,在內(nèi)測(cè)階段,云原生團(tuán)隊(duì)在與客戶的交流過(guò)程中,總結(jié)了這幾類典型問(wèn)題及解決方案:

QQ瀏覽器截圖20201220171919.png

wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1.jpg

節(jié)點(diǎn)池架構(gòu)概覽

如果您集群中創(chuàng)建了伸縮組,節(jié)點(diǎn)池全量之后仍然可以繼續(xù)使用這些伸縮組。但請(qǐng)注意,節(jié)點(diǎn)池全量后TKE不會(huì)對(duì)舊版伸縮組進(jìn)行后續(xù)功能維護(hù)及迭代,請(qǐng)您盡快使用TKE提供的接口(API/控制臺(tái))將伸縮組轉(zhuǎn)換成節(jié)點(diǎn)池(節(jié)點(diǎn)池覆蓋伸縮組的所有功能)。

wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1.jpg

·借助節(jié)點(diǎn)池的節(jié)點(diǎn)模板功能,您可以方便快捷地創(chuàng)建、管理和銷毀節(jié)點(diǎn)。

·借助節(jié)點(diǎn)池的彈性伸縮功能,您可以實(shí)現(xiàn)節(jié)點(diǎn)的動(dòng)態(tài)擴(kuò)縮容。當(dāng)集群中出現(xiàn)因資源不足而無(wú)法調(diào)度的實(shí)例(Pod)時(shí),自動(dòng)觸發(fā)擴(kuò)容,為您減少人力成本。當(dāng)滿足節(jié)點(diǎn)空閑等縮容條件時(shí),自動(dòng)觸發(fā)縮容,為您節(jié)約資源成本。

節(jié)點(diǎn)池產(chǎn)品優(yōu)勢(shì)

為了解決以上用戶的痛點(diǎn)問(wèn)題,節(jié)點(diǎn)池提供了以下的功能特性。

高可用

您可以為一個(gè)節(jié)點(diǎn)池配置集群VPC下的多個(gè)子網(wǎng),達(dá)到跨可用區(qū)容災(zāi)的效果。另外您可為節(jié)點(diǎn)池配置多機(jī)型,降低由資源售罄導(dǎo)致擴(kuò)容失敗的風(fēng)險(xiǎn)。

·多子網(wǎng)策略

  ·PRIORITY(默認(rèn)策略),按照子網(wǎng)列表的順序作為優(yōu)先級(jí)來(lái)嘗試創(chuàng)建實(shí)例

  ·EQUALITY(均勻打散):每次擴(kuò)容活動(dòng)選擇當(dāng)前實(shí)例數(shù)最少的子網(wǎng)進(jìn)行擴(kuò)容

·多機(jī)型策略支持10種機(jī)型并支持優(yōu)先級(jí),按照機(jī)型列表的順序作為優(yōu)先級(jí)來(lái)嘗試創(chuàng)建實(shí)例

·多子網(wǎng)機(jī)型協(xié)同策略如果您為節(jié)點(diǎn)池同時(shí)配置了多子網(wǎng)和多機(jī)型,我們會(huì)先保證多機(jī)型的策略,后保證多可用區(qū)/子網(wǎng)的策略。例如多機(jī)型A、B,多子網(wǎng)1、2、3(PRIORITY策略),會(huì)按照A1、A2、A3、B1、B2、B3進(jìn)行嘗試區(qū)擴(kuò)容。如果A1售罄,會(huì)嘗試A2,而非B1。

自動(dòng)化

節(jié)點(diǎn)池自動(dòng)擴(kuò)縮容依賴Cluster Autoscaler實(shí)現(xiàn),可與HPA無(wú)縫聯(lián)動(dòng),實(shí)現(xiàn)從應(yīng)用擴(kuò)縮容到集群擴(kuò)縮容的平滑過(guò)渡。

·節(jié)點(diǎn)池能夠在容器不夠資源分配的情況下按需擴(kuò)容

·能夠監(jiān)控節(jié)點(diǎn)的CPU、內(nèi)存,自動(dòng)縮容閑置節(jié)點(diǎn)

節(jié)點(diǎn)池提供兩種擴(kuò)縮容模式供您按需選擇。除了默認(rèn)的釋放模式(擴(kuò)容時(shí)創(chuàng)建節(jié)點(diǎn),縮容時(shí)釋放節(jié)點(diǎn)),節(jié)點(diǎn)池還支持與CVM關(guān)機(jī)不收費(fèi)對(duì)接的關(guān)機(jī)模式(擴(kuò)容時(shí)優(yōu)先開機(jī)已關(guān)機(jī)節(jié)點(diǎn),縮容時(shí)優(yōu)先關(guān)機(jī)空閑節(jié)點(diǎn)),可以達(dá)到秒級(jí)熱啟動(dòng)的效果,實(shí)現(xiàn)更高的擴(kuò)縮容效率。

易審計(jì)

考慮到節(jié)點(diǎn)池日常運(yùn)維的場(chǎng)景,我們也在可觀測(cè)性方面提供了保障。您可追蹤節(jié)點(diǎn)池關(guān)聯(lián)的擴(kuò)縮容活動(dòng)(活動(dòng)相關(guān)的觸發(fā)條件、時(shí)間、涉及實(shí)例、成功/失敗原因),同時(shí)您還可以通過(guò)事件持久化能力查看Cluster Autoscaler相關(guān)的集群級(jí)別擴(kuò)縮容記錄。

更多細(xì)節(jié)請(qǐng)查看查看節(jié)點(diǎn)池伸縮記錄:https://cloud.tencent.com/document/product/457/48538

通過(guò)查看伸縮記錄,您可在短時(shí)間內(nèi)定位并及時(shí)解決問(wèn)題(例如因資源售罄導(dǎo)致的擴(kuò)容失敗,可以通過(guò)跨可用區(qū)部署/配置多機(jī)型來(lái)解決)。

省成本

節(jié)點(diǎn)池支持多種計(jì)費(fèi)模式(按量計(jì)費(fèi)/包年包月/競(jìng)價(jià)實(shí)例),您可按需選擇,節(jié)約成本。

當(dāng)業(yè)務(wù)需求增加時(shí),無(wú)縫地增加適量CVM實(shí)例,節(jié)省人力成本。

當(dāng)業(yè)務(wù)需求下降時(shí),自動(dòng)釋放不需要的CVM實(shí)例,提高設(shè)備利用率,為您節(jié)省部署和實(shí)例成本。

后續(xù)節(jié)點(diǎn)池會(huì)規(guī)劃圍繞競(jìng)價(jià)實(shí)例的增強(qiáng)功能,助力您實(shí)現(xiàn)降本增效。

易用性

節(jié)點(diǎn)池提供多種擴(kuò)縮容以及節(jié)點(diǎn)管理相關(guān)的靈活配置,您可以根據(jù)業(yè)務(wù)性質(zhì)以及安全考慮自行搭配使用。

·支持為節(jié)點(diǎn)設(shè)置縮容保護(hù)您可以標(biāo)記重要業(yè)務(wù)節(jié)點(diǎn),標(biāo)記后節(jié)點(diǎn)不會(huì)在縮容時(shí)被釋放。

·快速遷移已有節(jié)點(diǎn)可手動(dòng)加入已有節(jié)點(diǎn)到同規(guī)格的節(jié)點(diǎn)池(CPU、內(nèi)存、GPU、AMD/ARM),實(shí)現(xiàn)節(jié)點(diǎn)的規(guī)范分組管理。同時(shí),手動(dòng)加入節(jié)點(diǎn)將繼承節(jié)點(diǎn)池的Label和Taints,且這些節(jié)點(diǎn)只能被手動(dòng)移出節(jié)點(diǎn)池,不受彈性擴(kuò)縮容/調(diào)整節(jié)點(diǎn)池?cái)?shù)目影響。

·支持靈活的擴(kuò)縮容參數(shù)配置您可以配置靈活的擴(kuò)縮容參數(shù),本文將在下一節(jié)-擴(kuò)縮容原理中詳細(xì)展開。

集群擴(kuò)縮容原理

彈性擴(kuò)容原理

wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1(2).jpg

集群彈性擴(kuò)容流程如下:

1.CA(Cluster Autoscaler)監(jiān)測(cè)到有因無(wú)法調(diào)度而Pending的pod

2.CA根據(jù)每個(gè)節(jié)點(diǎn)池的節(jié)點(diǎn)模板進(jìn)行調(diào)度判斷,挑選合適的節(jié)點(diǎn)模板

3.如果2中有多個(gè)模板合適,CA采用expanders從多個(gè)模板挑選最優(yōu)的一個(gè),并對(duì)對(duì)應(yīng)節(jié)點(diǎn)池進(jìn)行擴(kuò)容。優(yōu)選算法有如下幾個(gè):

·random:隨機(jī)挑選一個(gè)節(jié)點(diǎn)池

·Most-pods:挑選能調(diào)度最多pod的節(jié)點(diǎn)池

·Least-waste:挑選調(diào)度后剩余資源最少的節(jié)點(diǎn)池

·其他社區(qū)expanders(最小成本策略、節(jié)點(diǎn)池優(yōu)先級(jí)策略)

4.對(duì)指定節(jié)點(diǎn)池?cái)U(kuò)容(根據(jù)多子網(wǎng)多機(jī)型策略),提供兩種重試策略,提高容錯(cuò)性。

·快速重試:立即重試,在較短時(shí)間內(nèi)快速重試,連續(xù)失敗超過(guò)一定次數(shù)(5次)后不再重試

·間隔遞增重試:隨著連續(xù)失敗次數(shù)的增加,重試間隔逐漸增大,重試間隔從秒級(jí)到1天不等,1-3次重試是立刻重試,4-6次失敗間隔60s,7-10次600s,11-15次1800s,16-20次3600s,20次以上是86400s

彈性縮容原理

wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1(3).jpg

集群彈性縮容流程如下:

1.CA(Cluster Autoscaler)監(jiān)測(cè)到利用率(取cpu利用率和mem利用率的最大值)低于設(shè)定的節(jié)點(diǎn)。(可設(shè)置Daemonset類型不計(jì)入pod占用資源)

2.CA判斷該節(jié)點(diǎn)是否符合縮容條件

·節(jié)點(diǎn)空閑時(shí)長(zhǎng)要求(默認(rèn)10分鐘)

·集群擴(kuò)容緩沖時(shí)間要求(默認(rèn)10分鐘)

3.可設(shè)置不縮容條件如下

·含有本地存儲(chǔ)的節(jié)點(diǎn)

·含有Kube-system namespace下

·非DaemonSet管理的pod的節(jié)點(diǎn)

4.完全空閑節(jié)點(diǎn)可并發(fā)縮容,可設(shè)置最大并發(fā)縮容數(shù)。請(qǐng)注意,非完全空閑節(jié)點(diǎn)將逐個(gè)縮容,降低對(duì)業(yè)務(wù)的影響。

節(jié)點(diǎn)池注意事項(xiàng)

節(jié)點(diǎn)池底層依賴騰訊云的彈性伸縮產(chǎn)品,我們建議通過(guò)節(jié)點(diǎn)池控制臺(tái)/API來(lái)管理節(jié)點(diǎn)池,在彈性伸縮控制臺(tái)操作導(dǎo)致的后果TKE無(wú)法保障,具體注意事項(xiàng)請(qǐng)參見如下表格:

wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1(1).jpg

參考資料

[1]節(jié)點(diǎn)池概述:https://cloud.tencent.com/document/product/457/43719

[2]創(chuàng)建節(jié)點(diǎn)池:https://cloud.tencent.com/document/product/457/43735

[3]查看節(jié)點(diǎn)池:https://cloud.tencent.com/document/product/457/43736

[4]調(diào)整節(jié)點(diǎn)池:https://cloud.tencent.com/document/product/457/43737

[5]刪除節(jié)點(diǎn)池:https://cloud.tencent.com/document/product/457/43738

[6]擴(kuò)縮容相關(guān)Q&A:https://cloud.tencent.com/document/product/457/32316

[7]Cluster Autoscaler FAQ:https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于騰訊云原生,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
即日起,騰訊云PostgreSQL全面支持PostgreSQL 17.0。所有用戶可使用大版本升級(jí)能力升級(jí)至最新的PostgreSQL 17.0進(jìn)行體驗(yàn),也可以在產(chǎn)品購(gòu)買頁(yè)直接購(gòu)買。
騰訊云
云服務(wù)
2024-12-152024-12-15
高可用這個(gè)問(wèn)題,加機(jī)器就能解決?
高可用這個(gè)問(wèn)題,加機(jī)器就能解決?
互聯(lián)網(wǎng)服務(wù)的可用性問(wèn)題是困擾企業(yè)IT人員的達(dá)摩克利斯之劍:防于未然,體現(xiàn)不出價(jià)值。已然發(fā)生,又面臨P0危機(jī)。就更別提穩(wěn)定性建設(shè)背后顯性的IT預(yù)算問(wèn)題與隱性的人員成本問(wèn)題。
騰訊云
云服務(wù)
2024-11-252024-11-25
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
HBase憑借其高可用性、高擴(kuò)展性和強(qiáng)一致性,以及在廉價(jià)PC服務(wù)器上的低部署成本,廣泛應(yīng)用于大規(guī)模數(shù)據(jù)分析。
騰訊云
云服務(wù)
2024-11-042024-11-04
復(fù)雜查詢性能弱,只讀分析引擎來(lái)幫忙
復(fù)雜查詢性能弱,只讀分析引擎來(lái)幫忙
隨著當(dāng)今業(yè)務(wù)的高速發(fā)展,復(fù)雜多表關(guān)聯(lián)的場(chǎng)景越來(lái)越普遍。但基于行式存儲(chǔ)的數(shù)據(jù)庫(kù)在進(jìn)行復(fù)雜查詢時(shí)性能相對(duì)較弱。
騰訊云
云服務(wù)
2024-11-022024-11-02
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家