KubeVela 1.10.4 現已發佈 - 新聞 詳情

KubeVela v1.10.4 版本現已發佈,包含多項實用功能,提升用 KubeVela 部署應用的可維護性。

新功能

雖然 v1.10.4 作為補丁版本遵循語義化版本規範,但同時帶來了幾項可選新功能,以及常規的錯誤修復和性能提升。這些新功能默認關閉(如適用),以保證向後兼容,方便用户按需啓用。

支持 Kubernetes 1.31

團隊投入大量精力,完成了對 Kubernetes v1.31 的全面支持,覆蓋所有 KubeVela 代碼庫。用户現在可以放心在 Kubernetes 1.31 上運行 KubeVela,所有核心功能均已驗證。

資源存在性校驗

KubeVela 現在支持在應用部署前,校驗定義中創建的資源是否已存在於集羣中。該功能可覆蓋 Component、Trait、Policy 和 WorkflowStep 等定義,降低運行時錯誤,提高部署可靠性。

開發者可通過安裝時設置 ValidateResourcesExist 功能標誌來啓用。

Health 字段支持原生 Cue

編寫 workload 定義時,開發者現在可以用原生 Cue 表達狀態屬性,而非嵌套字符串。底層會自動完成字符串與 Cue 的轉換,並新增屬性類型和必填字段校驗。

此功能默認開啓,但需確保使用最新版本的 KubeVela CLI 才能享受 Cue 格式帶來的便利。字符串格式完全向下兼容。

增強狀態報告

應用狀態主要通過健康檢查和自定義消息兩種方式反饋,雖然能簡明展示整體健康狀況,但開發者反饋希望有更詳細、長期保存的狀態信息。

因此新增了 Status Details 字段,可存儲開發者認為有用的任意信息,方便報告、調試和觀察組件與 Trait。它使用熟悉的 Cue 語法提取信息,可訪問健康檢查和自定義消息中已有的 KubeVela 上下文。

例如,文檔中示例:

attributes: status: details: {
    readyReplicas: context.output.status.readyReplicas
    totalReplicas: context.output.spec.replicas
    readyPercentage: (context.output.status.readyReplicas / context.output.spec.replicas) * 100
    deploymentMode: context.output.spec.strategy.type
}

會在應用狀態中生成類似:

status:
  services:
    - name: my-service
      status:
        readyReplicas: "3"
        totalReplicas: "3"
        readyPercentage: "100"
        deploymentMode: "RollingUpdate"

並統一了多種狀態評估邏輯。Status Details 中的數據也會同步到健康檢查和自定義消息(通過 context.status.details),方便複用。詳細變化請參考“狀態評估工作原理”。

應用狀態指標

在 PR [#6824] 的修復中,應用健康狀態即使工作流成功後也會持續評估。

為此,新增了應用級別指標,方便運維人員簡化監控。指標包括:

  • kubevela_application_health_status{app_name, namespace}

  • kubevela_application_phase{app_name, namespace}

  • kubevela_application_workflow_phase{app_name, namespace}

通過數字映射保證指標低基數,有利於高效採集和監控。

此外,新增結構化日誌記錄應用狀態變化,高細節補充指標信息。日誌結構詳見文檔。

用户可啓用 EnableApplicationStatusMetrics 功能開關,開啓指標和結構化日誌。

依賴感知工作流

Issue [#6852] 指出組件和工作流中 DependsOn 的混淆,且工作流未原生支持組件依賴。KubeVela 現會根據組件依賴自動動態添加工作流步驟依賴,邏輯更簡潔、符合預期。

彩色日誌支持

新增可選彩色日誌,提升開發調試體驗。本地開發時,使用 --dev-logs 參數開啓控制枱彩色輸出。該功能不建議用於生產和 CI,默認關閉,關閉時保留原有日誌功能。

日誌格式改進包括:

  • 結構化字段顏色區分(鍵青色,值灰色)
  • 主要消息文本高亮白色
  • 豐富的位置信息(文件:方法:行號)
  • 類似 Spring Boot 風格

詳情可查看官方博客。