您好,登錄后才能下訂單哦!
這篇“tensile-kube的特點是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“tensile-kube的特點是什么”文章吧。
tensile-kube 名稱由來
tensile名為可擴展的,可延伸的,同時tensile中也包含了tencent 和 tenc的意思。
tensile-kube 誕生背景
騰訊游戲Tenc(容器)計算平臺線上有數十個K8s集群,這些集群都存在一些碎片資源,無法得到有效利用。常見的場景是:一個作業需要N個資源,但是現有集群A、B、C等所剩資源都不滿足N,而集群A,B,C資源總和又能滿足N。此外,我們還有另一種場景:業務有一種類型的業務需要同時發布到多個集群。
其實,業界很早就有類似的需求,也誕生出了Federation等方案,但是這些對于現有的K8s 會有較大的改造成本,同時增加了很多繁雜的CRD。因而,我們自主研發了更輕量的基于virtual-kubelet的解決方案tensile-kube。
https://github.com/kubernetes-sigs/kubefed
virtual-kubelet(VK)簡介
VK是用微軟開源的一個基礎庫,其實現通常叫做provider, 早期的VK中包含了各種provider, 目前VK社區已經將其獨立出來,分為:virtual-kubelet、node-cli和provider。virtual-kubelet提供了一種抽象能力,通過實現provider,用戶就實現了一個虛擬的K8s節點,用戶的Pod可以調度到該節點。virtual-kubelet的核心功能是Node和Pod的生命周期管控。
tensile-kube 架構
tensile-kube核心組件為4個:
virtual-node
基于virtual-kubelet實現的了K8s provider功能,同時增加了多個controller,用于同步ConfigMap、Sercret、Service等資源。
webhook
對Pod中可能對上層集群調度產生干擾的字段進行轉換,將其寫入annotation中,virtual-node在創建Pod時再將其恢復,避免影響用戶期望的調度結果。
descheduler
用于避免資源碎片帶來的影響,這個組件我們基于社區的descheduler進行了二次開發,使之更適用于這個場景。
multi-scheduler
主要用于連接下層集群的API Server, 避免資源碎片的影響,在調度時判斷virtual-node的資源是否足夠。(圖中未畫出來,multi-scheduler會比較重,不是特別推薦使用;如果要使用,需將上層集群kube-scheduler替換成multi-scheduler。)
tensile-kube 特點
對原生K8s集群無侵入
tensile-kube中,通過virtual-node建立上下層集群之間的連接,上層的Pod通過調度器調度到virtual-node,隨后將Pod同步到下層集群創建,整個方案對于K8s無侵入。
K8s上層平臺改造成本低
在上層的K8s平臺看來,通過tensile-kube連接的集群就是一個大集群,可以完全屏蔽區別,所以對于平臺來說,也幾乎是不需要改造的。
基于原生virtual-kubelet開發
tensile-kube基于原生virtual-kubelet打造,沒有過多額外的依賴,同時又保持原生virtual-kubelet的諸多功能,后續更新升級方便。
這些使得tensile-kube可以方便的實現多個集群的調度管理,且適用于大多數場景。
tensile-kube 主要能力
集群碎片資源整合
對于離線集群來說,或多或少存在資源碎片。通過tensile-kube,可以將這寫碎片合成一個大的資源池,將閑置的資源充分利用起來。
服務多集群調度
結合Affinity等,可以實現,Pod的多集群調度。對于1.16及以上集群還可以基于TopologySpreadConstraint實現更細粒度的跨級群調度。
服務跨集群通信
tensile-kube原生提供通過Service進行跨集群通信的能力。但是前提是:需要不通集群之間的網絡通過Pod IP可以互通,如:私有集群共用一個flannel等。
便捷化運維集群
當我們進行單個集群升級、變更時,往往需要通知業務遷移、集群屏蔽調度等,在tensile-kube的支持,我們只需要將virtual-node 設置為不可能調度。
原生kubectl能力
tensile kubectl支持原生kubectl所有操作,包括:kuebctl logs和kubectl exec。這對于運維人員去管理對于下層集群上的pod會十分方便,沒有額外的學習成本。
其余可能的適用場合
邊緣計算
混合云
以上就是關于“tensile-kube的特點是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。