Kubenet:基於 Kubernetes 的網路自動化架構

引言

隨著雲原生技術的快速發展,Kubernetes 已成為容器編排的標準框架。然而,其應用範疇不僅限於應用程式管理,更可延伸至網路自動化領域。Kubenet 作為一個基於 Kubernetes 的網路自動化解決方案,透過 Kubernetes 的 API 機制,實現網路配置的抽象化與可編排性。本文將深入探討 Kubenet 的技術架構、核心特性與應用場景,並分析其在實際部署中的優勢與挑戰。

技術定義與核心概念

Kubenet 的起源與目標

Kubenet 創立於 Kubernetes 的 API 機制之上,旨在將 Kubernetes 的抽象能力應用於網路領域。其核心目標為建立可重用的元件,不僅針對網路,亦可應用於其他場景。透過 Kubernetes 的聲明式 API,Kubenet 支援意圖驅動的配置,實現網路自動化的可編排性。

Kubernetes API 機制的應用

Kubernetes 將複雜問題分解為可組合的元件(如 Deployment、Pod、Service 等),並透過聲明式 API 實現配置。Kubenet 延續此邏輯,將網路需求抽象為高層意圖(如部署 APN),並透過狀態映射與事件驅動機制,確保網路配置的可靠性與動態響應能力。

核心技術與架構

分層設計

Kubenet 採用分層設計,包含抽象層與實現層:

  1. 抽象層

    • 網路 API CRD:定義網路需求(如 Layer 2/3 網路),不指定技術實現(如 VXLAN、SRv6)。
    • 資源抽象:支援拓撲(Topology)、節點(Node)、鏈路(Link)、IP 地址、VLAN 等資源,內建於 Kubernetes API。
  2. 實現層

    • SDC(Schema-Driven Configuration):將 Kubernetes 資源映射至 YANG 標準,支援 GNMI 與 NetCon 協議,用於 5G 核心(UPF、控制平面節點)配置。
    • QID(Resource Identifier):提供資源唯一識別符,支援跨廠商設備的配置管理。
    • Choreography(編排層):統一管理配置流程,確保變更控制與狀態同步。

技術整合

  • GitOps 模式:透過 Git 管理配置版本,確保變更僅在成功執行後提交至主分支。
  • 廠商中立設計:SDC 支援多廠商設備(Nokia、Cisco、Juniper 等),透過 YANG 標準實現配置抽象。

重要特性與應用場景

核心技術功能

  • SDC(Schema-Driven Configuration)

    • 將 Kubernetes 資源轉換為 YANG 模型,支援 GNMI/NetCon 協議。
    • 提供交易性機制,確保配置提交的可靠性。
    • 模組化設計,可 Plug-in 到不同環境。
  • QID(Kubernetes Identifiers)

    • 提供 Kubernetes 原生識別符號映射,支援網路設備拓撲與 IP 管理。
    • 設計為可插拔元件,兼容不同環境需求。
  • Choreography(Coro)

    • 作為 orchestrator 層,解決 Kubernetes 生態中缺乏圖形化關係管理的問題。
    • 引入版本控制與關係建模,支援複雜網路配置。
    • 提供主動回饋機制(active reconciliation loop),區別於 Ansible/Terraform 的狀態耦合。

實際應用案例

Kubenet 已於 5G 核心網路配置(如 UPF、控制平面節點)中應用,支援多廠商設備的抽象配置。透過 SDC 與 QID 的整合,實現從抽象模型到設備特定配置的轉換,並結合 GitOps 工具鏈確保配置應用的可靠性。

優勢與挑戰

優勢

  • 可擴展性:基於 Kubernetes 的生態系統,支援多種網路場景與設備。
  • 可靠性:透過交易性機制與 GitOps 模式,確保配置提交的穩定性。
  • 廠商中立:SDC 支援多廠商設備,降低配置抽象的複雜度。

挑戰

  • 配置抽象化與設備特定轉換:需處理不同廠商的配置邏輯,透過模板化與參數化實現。
  • 工具鏈整合:需結合 GitOps 工具(如 GitHub)與網路管理工具(如 Netbox Operator)。
  • AI 代理整合:未來需進一步整合代理 AI 與傳統自動化工具,簡化複雜場景的配置。

總結

Kubenet 透過 Kubernetes 的 API 機制,實現網路配置的版本控制、關係建模與主動回饋,提供可擴展的工具鏈支援從抽象模型到設備特定配置的轉換。其核心技術包括 SDC、QID 與 Choreography,解決關鍵基礎設施的可靠性、狀態感知與工具整合等挑戰。未來,Kubenet 預計提交至 CNCF 基金會,建立完整社區支持,並強化 AI 代理與自動化工具的整合,推動 Telco 領域的應用。