陳冰心,騰訊云產品經理,負責超級節點迭代與客戶拓展,專注于 TKE Serverless 產品演進,
背景
讓人又愛又恨的 Serverless
Serverless 炙手可熱,被稱為云原生未來發展的方向,信通院報告顯示:在核心業務中使用 Serverless 的用戶占到18.11%,已經開始和計劃使用 Serverless 技術的用戶超過了70%,Serverless 廣受追捧,得益于它在“快速的開發交付”、“極高的運維效率”、“極低的資源成本”這三個方面上的優勢,
Serverless 可以讓業務更快上云,讓用戶用最小的運維投入享受云帶來的便利性,底層資源規劃及運維交給更專業的云平臺處理,使用戶可以更專注業務和產品本身,從而更好地提升產品和業務的核心競爭力,
Serverless 的優勢如此明顯,但在實際落地使用中,無論是云廠商還是用戶,均處在摸著石頭過河的階段,仍在不斷學習不斷試錯,主要原因是 Serverless 在帶來便利性的同時,也打破了傳統 Serverful 模式下的種種用戶使用習慣,對企業各個組織均造成了沖擊;其先進的產品形態在老的架構上又引入了較高的適配復雜度,具體表現在:
Serverless 對企業的運維團隊造成沖擊
- 對接復雜度高,架構改造和適配有成本
- 改變了常規的節點運維習慣,運維需要重新適應新的運維方式
- 業務對資源的彈性使用讓平臺運維對資源不再可控
Serverless 對企業的財務團隊造成沖擊
- 按量計費模式替代了傳統包年包月,財務規劃例外困難
- 資源成本不再可控
- 無法以固有的方式對業務團隊進行分賬
Serverless 和 Serverful 的完美平衡
我們仍然認可 Serverless 模式下不可替代的優勢并且堅信這些優勢最終能夠幫助企業提升效率,在 Serverless 漸進式演化的程序中,我們思考的是,在當下如何找到 Serverless 和 Serverful 的中間態,讓用戶在資源可控度和運維簡化間找到一個平衡,用更小的代價獲得 Serverless 的收益,由此我們提出了 HouseKeeper 的理念,構造了全新的節點產品形態,以求平衡 Serverless 與 Serverful,靠近傳統 Serverful 的形態下,我們范訓出云原生增強型的 Serverful節點 - 原生節點 ,那么在靠近 Serverless 的一邊,又能做些什么呢,我們給出的完美答案是有節點的 Serverless 服務 - 超級節點,
超級節點是基于 Serverless (此處亦可稱 Nodeless)容器技術,模擬 Serverful 有節點管理體驗的新的集群節點形態,有 pod 強隔離高穩定、Node 免運維、精確配置資源、兼顧資源可控性與使用便捷性等特點,適用于希望降低運維負擔、提高資源裝箱率且不想改變運維模式的企業漸進式 Serverless 化,我們期望通過遷移式的使用體驗,讓用戶在不改變自身架構、不影響財務核算的前提下,切物體驗到 Serverless 的便利,
如下總結了超級節點的特點:

超級節點向用戶提供可用區級別的、支持自定義規格的節點能力,使用超級節點類似于使用一臺超大規格的 CVM,每一個調度至超級節點的 pod 都是一臺獨立的子機,pod 間因此完全隔離,使業務具有極高的穩定性和安全性,在節點維度支持了按量計費和包年包月兩種計費模式,包年包月的資源可以在保障資源供給的基礎上以較低的價格交付用戶,如果需要進行固定資源的擴縮容,僅需要對這臺“超大規格的 CVM”進行升降配,資源管理變得更為簡單,
在產品能力上,超級節點針對兼容 TKE 標準集群形態做了大量作業,保障用戶的業務可以平滑在普通節點和超級節點間無損切換,在底層架構上,超級節點基于騰訊云自研的 Serverless 容器技術,通過安全沙箱、輕量的高性能運行、增強調度器以及高性能網路等保障業務安全穩定地運行,
超級節點承載了內外部共計千萬核業務穩定、安全運行,騰訊QQ、會議、檔案等業務,公有云小紅書、超引數、搜狐、百果園等客戶,沿用原運維體系,將大量穩態核心模塊部署在超級節點上,包年包月的超級節點模式穩定上線數月,替換了 90% 預留券的使用,新增了數十萬核在線常駐業務切換至超級節點,
超級節點,有節點的 Serverless 服務
傳統的節點運維管理模式
傳統的節點運維管理模式的特點在于:有節點概念,計費維度在單個節點上,其優勢在于對無論是對運維來講還是財務人員來講,管理完全可控,但缺點也非常明顯:
海量的節點維護作業:
- 眾多測驗集群、生產集群大量節點的日常維護
- 節點 OS、內核、容器運行時的維護
- 節點 K8s 組件的維護和升級
- 為提升集群資源利用率進行復雜的節點擴縮容作業
難以避免的容器隔離性問題:
- pod 共享宿主節點內核
- pod 共享宿主節點硬碟
- pod 共享宿主節點網卡
- 容器逃逸風險
專業、復雜的資源規劃和調度作業:
- 大量的業務混部、Qos、親和性等規劃和配置作業才能帶較好的資源利用率
- 集群資源規劃須深入了解業務容器資源需求,資源不足則容器無法調度,對波峰業務需預留 buffer 資源,波谷時,會造成預留的資源浪費
常見的Serverless管理模式
Serverless 模式的特點在于:無節點,以 pod 為資源交付物件和計費物件,其優勢在于,完全彈性使用,沒有資源浪費,應用部署靈活,無需進行節點運維,這種模式的問題在于:
資源管理成本高:
pod 數比 Node 數高一個量級,資源粒度越細,帶來的精確規劃成本越高,特別是當企業需要長時間使用 Serverless 資源的時候,當前主流的云廠商給出的解決方案為預留券模式,該模式需要為不同規格的 pod 對應購買相應數量的預留券以抵扣其消耗,需要用戶精確地統計每一種規格 pod 的運行數量,pod 規格及運行數量為業務側動態變化的資料,購買資源卻是平臺側的行為,這中間的 Gap 導致平臺側對于資源的購買和維護成本變得極其高昂,這種不優雅的包月實作方式不僅讓不應該關心精確資源使用量的人員陷入了困境,也限制了真正的資源使用者,與 Serverless 倡導的輕運維按需使用的初衷背道而馳,
財務管理成本高:
在 Serverless 模式下,計費單元在 pod 上,資源(pod)的生命周期由業務控制,業務的變更將直接帶來成本的變化,成本不可控會為企業的財務管理帶來極大挑戰,除了成本不可控外,成本的核算和業務間的分攤也將變得棘手,傳統的節點管理模式下,以節點維度來統計每個業務的使用量,將節點資源的成本消耗與業務掛鉤,財務管理清晰簡單,而在 Serverless 場景中,預留券的模式下, pod 生命周期各不相同,預留券每小時的抵扣物件也均不相同,從而導致了分賬困難,按量計費模式下的資源消耗也需要額外統計,在 Serverless 模式下,資源和成本在傳統運維模式下均不易管理,企業的各個組織均需要做出較大改變才能適應 Serverless 在企業內落地,
超級節點模式
超級節點模式的特點在于:有節點概念,但無節點運維作業,以 Node 為計費物件,兼容基于節點的運維、財務體系,從而達到了 Serverless 模式的運維簡單、資源不浪費和業務部署靈活的特點,也兼顧了 Serverful 模式的成本可控、資源可控,
更簡單可控的資源管理模式:
用戶可以像管理一臺超大號云主機一樣管理 K8s 超級節點,可以通過包年包月的模式申明需要使用的固定資源總規格,后臺將預留對應的資源,告別了 Serverless 模式下資源不可見,按量使用資源無法保障的擔憂,讓用戶用得放心,針對固定資源的擴縮容變成了單節點維度的升降配;針對彈性資源的擴縮容,僅需加入按量計費的超級節點,即可按照節點上調度 pod 的實際規格進行計費,再無 buffer 資源浪費,
更輕量的運維:
無需再關注資源利用率,無需考慮調度,超級節點模式下保障資源百分百裝箱,在包年包月超級節點、按量計費超級節點與普通節點共用的場景下,調度器會智能優先調度到最合適的資源上,幫助最大化實作資源的有效利用,
更簡單的財務管理模式:
Serverless 模式下首創節點維度的包月計費形式,解決了精細化使用資源場景下的資源規劃問題、預留券購買問題、財務管理問題,企業只需要計算固定和彈性資源的總使用量,購買合適的包年包月固定資源并配合彈性資源進行使用,預付費的包年包月計費也更適合企業財務部門的資源預算模式,
更高穩定性的服務:
超級節點底層基于自研 Serverless 容器技術 Heeler,經由內外部千萬級規模驗證,可以保障業務穩定運行,
超級節點產品特性
高穩定性、高安全性
為業務穩定性保駕護航:
超級節點上的一個 Pod 底層對應一個子機,底層為虛擬機級別的隔離,通過自研的安全沙箱技術和虛擬化技術,保證 Pod 間無干擾,業務間強隔離,不會出現節點上Pod間資源搶占的問題,也不會出現單 Pod 故障導致整個節點故障的情況,
為容器應用安全提供全方位保障:
- 保障通用安全需求:集群隔離、網路隔離,底層依賴與環境安全共同保障應用安全
- 保障應用環境安全:通過網路安全策略控制、鏡像拉取安全控制保障應用環境安全,提供全方位的操作審計
- 托管平臺隔離:做到集群間隔離,角色和訪問控制保障平臺獨立隔離
- 基礎設施隔離:容器間實作虛擬化隔離,pod 間天然做到子機級別的隔離,高可用場景下支持 pod 實作物理機、機架級別的隔離
運維更簡單:
完全托管的模式,學習成本低,不依賴專職的 K8s 運維即可輕松部署業務,在日常的運維中,免去了海量的節點維護作業,不需要處理容器隔離性的問題,也極大簡化了專業、復雜的資源規劃和調度作業,
計費模式更靈活:
我們獨創了超級節點的包年包月模式,解決了企業運維和財務頭疼的問題,包年包月模式下,由用戶自定義節點規格,用戶可包年包月購買自定義總規格的節點算力來實作預付費,契合固定算力的在線常駐業務,包年包月的超級節點相較于普通節點單核價格更低,用戶可將符合規則的 pod 全部遷移至超級節點,來降低固定資源的單核成本,從而達到降本增效的目的,按量計費模式下,可彈性使用節點資源,使用后按節點內實際使用的 CPU 記憶體按量計費,按量計費模式適用于彈性算力場景,可通過添加按量計費的超級節點,在業務高峰時使用彈性資源,進一步降低集群的資源成本,
完全兼容 K8s:
超級節點提供標準的 Kubernetes 服務和使用方式,滿足絕大部分容器場景下的交付標準,提供了標準的 K8s 編排、運維、擴縮容等的使用方式,保留了 K8s 的擴展性,在基礎能力、可觀測性、云原生解決方案上均完全兼容 K8s 生態,此外,適配 Nodeless 的 K8s 特性包含:
- 支持在超級節點上注入 Daemonset
- 支持 pod 固定 IP
- 支持 pod 系結安全組
- 支持掛載 Ceph CBD 型別的塊存盤設備,保留支持各種 K8s 原生支持的 CSI volume 的能力
- 支持 pod 編排指定 hostNetwork: true
- 支持 pod 編排中的 container/initContainer.ports 指定 hostPort
- 支持 pod 編排中指定 hostPath
- 支持通過 pod metrics 埠(默認9100)獲取更多的指標,包括:cpu/memory/gpu/network/diskio/filefd/vmstat 以及容器的 cadvisor 指標
- 支持特權級容器
超級節點使用場景
超級節點適用于全業務場景,尤其適合高穩態業務的運行,支持在公有云或 IDC 的標準 Kubernetes 集群、Serverless 集群中使用,可通過簡單的開啟方式,將固定和彈性算力調度到超級節點上,其調度模式完全兼容原集群的調度范式,可讓原集群平滑進行 Serverless 化或混合云化升級,
在線常駐業務使用包月+按量超級節點
優勢:高穩定、低成本、易管理 相較于包年包月的普通節點,超級節點單核價格更便宜,對于在線常駐的服務,用戶所需算力固定,若當前 pod 規格大部分在 8C 以下,可使用超級節點的包年包月模式,基于 pod 總規格按需購買包年包月的超級節點,將 pod 全部調度至超級節點,降低集群資源的單核價格,實作降本訴求,
彈性業務使用按量計費超級節點
優勢:高穩定、低成本、高彈性 彈性業務場景下,用戶使用按量計費的超級節點,可實作快速秒級擴容,輕松應對突發流量,通過減少預留的資源 buffer 降低成本,高彈性:快速秒級擴容,輕松應對突發流量,業務流量下降后自動銷毀 pod,無損縮容,低成本:減少集群預留 buffer,將集群的節點維護在資源利用率更高、使用和預留更合理的水平,節省成本,
如何創建超級節點
在 TKE 集群和 TKE Serverless 集群中均可創建超級節點,進入集群詳情頁 > 選擇左側選單欄中的節點管理 > 節點池 > 單擊新建節點池,選擇超級節點池并填寫對應引數即可:

總結
云計算的概念層出不窮,其本質上是對生產關系和生產力的配置與優化,最終達到為使用者增效的目的,在容器化的漫長行程中,企業的觀念和行為都在不斷變化,但接受和擁抱新技術對于每一個處于行程中的親歷者來說都一定有一個陣痛期,如何幫助用戶用最少的代價換取最大的收益,如何能夠平衡好優勢與矛盾,是每個云廠商應該思考的課題,從完全的 Serverless 到有節點的 Serverless,我認為并不是產品技術的退步,只要能夠解決使用者的痛點,為使用者帶來切實的價值,我們不應該拘泥于產品的形態,我們走出的這一步,其實是進步的,我們正在走向偉大的創新,
優惠活動
活動倒計時,錯過拍大腿!
超級節點大額滿減券等你領取!
掃描下方圖片二維碼進入會場搶優惠!

【騰訊云原生】云說新品、云研新術、云游新活、云賞資訊,掃碼關注同名公眾號,及時獲取更多干貨!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/538729.html
標籤:其他
上一篇:MySQL日志管理、備份與恢復
下一篇:機器學習-第一天梳理

