TKE 體驗升級:更快上手 K8s 的24個小技巧


作者

王孝威,騰訊雲容器產品經理,熱衷於為客戶提供高效的 Kubernetes 使用方式,為客戶極致降本增效服務。

背景

“功能“解決是產品有或者沒有一個能力的問題,有了“功能”之后,如何通過良好的引導、提示,以及交互來幫助用戶更“流暢”的使用產品是一個值得思考的問題。

例如:樂高已經有了超過 3700 種不同的模塊,這些模塊可以拼出無限種模型。然而,不同模型的呈現完全不一樣,有可能只是幾個小模塊的位置的改變就能帶來意想不到的效果。

進過幾年的努力,TKE 在功能層面提出了大量新特性:例如:通過 LB 直連 Pod 提升性能集群原地升級虛擬節點動態調度器,更多可參考容器服務產品動態

此外,TKE 也重視用戶的整體使用體驗,為此拜訪了多家公司,收集了很多需求,並根據用戶重視分層,進行了優化和工具的開發,用戶可以利用這些優化的小技巧,更順滑的來體驗容器服務,更“接地氣”的降低產品使用門檻,提升產品使用體驗。

提升列表

集群/節點相關

推薦:節點搜索能力增強

節點搜索支持通過 Label/IP/是否封鎖/節點狀態 等多維度的搜索。

  • Label 搜索格式與原生 Kubernetes 相同:"k1=v1,k2=v2"
  • IP 多值搜索時僅支持精確查詢,單 IP 搜索支持模糊查詢

使用方式:節點管理 -> 節點 -> 搜索 或者 節點池詳情頁 -> 下拉到節點列表 -> 搜索

推薦:節點初始化錯誤展示優化

  • 【CVM 發貨失敗 相關錯誤細化展示】如果因為 CVM 發貨失敗導致節點購買失敗,除了報 LAUNCH_FAILED(即發貨失敗), 還會顯示詳細發貨失敗的原因:比如 VPC 子網 IP 不足/磁盤資源不足/余額不足/置放群組配額不足等等。

  • 【節點初始化 相關錯誤細化展示】會詳細在節點列表展示節點初始化失敗的步驟以及對應信息:比如掛盤失敗、核心組件異常等等。

使用方式:節點管理 -> 節點 -> 在狀態欄點擊查看狀態即可查看錯誤

節點池節點操作標准化:支持封鎖/驅逐

節點池內節點操作支持封鎖/驅逐,已與集群內節點列表操作保持完全同步,您可以在節點池內高效管理節點。

使用方式:節點池詳情頁 -> 下拉到節點列表 -> 在操作列對單節點進行操作 或者 選中批量節點后進行批量操作(點擊上方【更多操作】按鈕可批量封鎖/取消封鎖節點)

刪除保護邏輯優化

客戶反映:如果創建集群時開啟了誤刪選項,開啟后假如創建失敗,客戶也無法刪除。

現在您可以在【集群列表頁】為集群關閉刪除保護功能。

使用方式:集群管理 -> 集群操作列表 -> 更多 -> 關閉集群刪除保護

公網 IP 展示優化

有些客戶反饋公網IP的配置入口過於隱蔽,默認帶寬值過小,無法滿足業務需要。

我們采取圖形化的形式(拖動條)來代替輸入框,強化顯示效果。

👉🏻 使用方式:新建節點/新建節點池 -> 選擇機型 -> 拖拽到底部 -> 設置公網帶寬

節點池展示信息結構化 / 高級參數展示

  1. 增加節點池核心定義/功能的概覽,讓客戶快速了解節點池的使用場景

  1. 節點池信息結構化展示(按模塊聚合展示,同時顯示了更多的高級參數,提高了可觀測性)
    • 節點池基本信息(彈性伸縮相關配置、節點數量等信息)
    • 節點配置詳情(節點模板相關配置、節點池擴容節點自動繼承的配置)

節點直接跳轉 CVM 優化

舊版本的跳轉 CVM 按鈕顯示不穩定,並且入口不突出。

使用方式:鼠標懸浮到節點 ID 處(如果您直接點擊節點 ID, 會跳轉到 Node 詳情頁) -> 點擊 “跳轉到 CVM 實例詳情頁” -> 會跳轉到 CVM 實例詳情頁

創建節點時增加了容器網絡 IP 校驗

創建節點前,會根據您的容器網絡配置(網絡模式、網段等)來判斷容器網絡是否可以滿足這批節點創建的要求。考慮到某些特殊場景下您可能不需要校驗容器網絡,我們提供了參數skip可以供您跳過校驗。(參數的詳細說明可參考API文檔

使用方式:新建節點/添加已有節點/新建節點池 -> 更多設置 -> 設置skip參數

集群添加已有節點時支持填寫掛載分區/LVM 名

在添加已有節點時如果您對磁盤做了分區/LVM,請在掛載分區填寫想要掛載的分區名/LVM名,如果磁盤未分區或 LVM,無需填寫掛載分區,只需填寫掛載點

使用方式:添加已有節點 -> 選擇節點 -> 勾選數據盤掛載 -> 填寫掛載分區以及掛載點

Kubernetes 對象相關

推薦:批量導入鍵值對:配置管理 & 環境變量優化

支持一次性從剪切板導入批量的鍵值對。變量名為空時,在變量名稱中粘貼一行或多行 key=value 或 key: value 的鍵值對可以實現快速批量輸入。

使用方式1:工作負載 -> 新建負載 -> 實例內容器 -> 環境變量

使用方式2:配置管理 -> 新建ConfigMap/Secret -> 內容

推薦:CronJob 支持保留數量/暫停/手動觸發/顯示由 Cronjob 生成的 Job 列表

  • 保留成功Job數:防止Job無限生成,影響集群性能

  • 保留失敗Job數:防止Job無限生成,影響集群性能

  • 暫停:會停止 Cronjob 的運行,不再會生成新的 Job。支持恢復運行

  • 手動觸發:無需等到 Cronjob 設置的 Crontab 時間就支持利用 Cronjob 里的 Job 模板生成一個新的 Job

使用方式:工作負載 -> Cronjob -> 新建 -> 保留成功Job數/保留失敗Job數

使用方式:工作負載 -> Cronjob 列表 -> 更多-> 手動觸發/暫停

點擊上圖中的 CronJob 的名稱,就可以查看到由 CronJob 生成的運行中的 Job 列表:

HostAliases 產品化

HostAliases 用於為 Pod 的 /etc/hosts 文件中添加條目,可以在 Pod 級別覆蓋對主機名的解析。以增加 Pod 的 DNS 配置。

使用方式:工作負載 -> 新建負載 -> 高級設置 -> 主機別名

lifecycle 產品化

lifecycle : 容器的生命周期事件掛接處理函數。 容器可以為每個事件指定一個處理程序,當一個容器啟動后,Kubernetes 將立即發送 postStart 事件;在容器被終結之前, Kubernetes 將發送一個 preStop 事件。

使用方式:工作負載 -> 新建負載 -> 實例內容器 -> 生命周期

Service 默認 “僅在集群內訪問”;Service 類型解釋增加對應英文名詞

  1. “僅在集群內訪問”訪問方式符合使用習慣
  2. 中英文名詞對照減少用戶的理解成本,符合 Kubernetes 原生使用習慣

一鍵“重新部署” 在 Deployment、StatefulSet 和 DaemonSet 上支持

和 Deployment 一樣,StatefulSet 和 DaemonSet 現在支持一鍵重新部署了,免去刪除后重新配置的煩惱。

使用方式:工作負載 -> 負載列表 -> 更多 -> 重新部署

Ingress 證書支持繼承 LB 的證書

支持直接使用 CLB 的證書自動創建 Ingress 的 HTTPS 證書,省去繁瑣的 Secret 創建流程。

使用方式:服務與路由 -> Ingress -> 新建Ingress -> 監聽端口勾選Https:443 -> 新建密鑰 -> 選擇服務器證書

Secret 支持 TLS 類型

除了 CLB 證書,您有時會使用自己的證書,保存證書需要使用 TLS 類型的 Secret

使用方式1:配置管理 -> Secret -> 新建Secret -> TLS證書

使用方式2:服務與路由 -> Ingress -> 新建Ingress -> Nginx負載均衡器 -> 監聽端口勾選Https:443 -> 新建密鑰

subPathExpr 在控制台上支持配置

subPathExpr,支持將環境變量映射到 Volume 里的一個子路徑

使用方式:新建負載 -> 使用數據卷 -> 增加環境變量 -> 使用掛載點 -> 選擇 subPathExpr

kube-system、kube-node-lease、kube-public 里的資源支持在控制台支持修改

以前為了防止用戶誤觸,在控制台限制了這些命名空間里資源的修改,但事實上有些用戶本身就具有這些命名空間的資源管理權限,因此新版本在控制台去掉了這些限制,權限邏輯交給后台判斷,若您沒有相關命名空間的權限,修改資源也會報錯。

使用方式:新建負載 -> 選擇命名空間 -> 修改資源配置

使用方式:授權管理 -> 選擇任意一個入口 -> RBAC策略生成器 -> 選擇子賬號 -> 選擇命名空間/權限

增加多處懸浮提示

所有的資源列表頁的字段名增加懸浮提示,更適應屏幕較小的用戶

工作負載里的日志入口容器名增加懸浮提示,更適應屏幕較小的用戶

運維能力相關

推薦:日志采集支持根據日志樣例自動提取正則表達式

當在日志采集規則中選擇單行完全正則、多行完全正則的提取模式時,可根據用戶自己的日志樣例自動生成正則表達式,並自動提取相應的鍵值對,無需用戶自己去學習並配置正則表達式

使用方式:1.集群運維 -> 2.日志規則 -> 3.新建 -> 4.輸入日志采集規則名字 -> 5.提取方式選取“單行-完全正則” -> 6.輸入日志樣例 -> 7.點擊正則表達式自動生成 -> 8.移動光標選取需要被正則的字符串 -> 9.輸入key -> 10.確認

推薦:日志采集支持根據日志樣例自動驗證是否可正常提取日志

對於用戶自己填寫的正則表達式、分隔符等,支持按照用戶日志樣例進行驗證,自動提取所有value,以驗證是否可以正常解析日志,避免在檢索日志時發現表達式配置錯誤。

使用方式:1.集群運維 -> 2.日志規則 -> 3.新建 -> 4.輸入日志采集規則名字 -> 5.提取方式選取“單行-完全正則” -> 6.輸入日志樣例 -> 7.手動輸入正則表達式 -> 8. 驗證

日志采集支持多行正則提取模式

支持多行正則的解析模式(適用於java程序等多行日志以鍵值對去檢索日志的需求)

注意:使用多行正則提取模式需要聯系后端升級采集組件版本

使用方式:新建日志采集規則->第二步提取模式中選擇“多行-完全正則模式”

托管 Prometheus 支持新加坡、弗吉尼亞等地域

雲原生監控(托管 Prometheus)灰度上線新加坡/弗吉尼亞等地域,歡迎使用。

總結

Kubernetes 本身功能強大,但模塊復雜,上手成本較高,TKE 致力於功能和體驗的升級,如果您有任何


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM