久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

tensile

239次閱讀
沒有評論

共計 2103 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇“tensile-kube 的特點是什么”文章的知識點大部分人都不太理解,所以丸趣 TV 小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“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 的特點是什么”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計2103字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 湘潭县| 黄陵县| 勐海县| 吉木萨尔县| 宜城市| 拉孜县| 额尔古纳市| 海城市| 陆良县| 云和县| 尼玛县| 滦平县| 成武县| 阳江市| 大悟县| 汽车| 巩留县| 德保县| 泰宁县| 双辽市| 永靖县| 岗巴县| 保山市| 兰考县| 车险| 江永县| 娱乐| 兴隆县| 濉溪县| 涟水县| 报价| 湘西| 恭城| 阳新县| 渝北区| 五原县| 中牟县| 乐山市| 双桥区| 鹤峰县| 郧西县|