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

做者

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

背景

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

例如:樂高已經有了超過 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 致力於功能和體驗的升級,若是您有任何

【騰訊雲原生】雲說新品、雲研新術、雲遊新活、雲賞資訊,掃碼關注同名公衆號,及時獲取更多幹貨!!

相關文章
相關標籤/搜索