這次示範的範例是延續前面幾篇的內容,這邊將進行流量閥值控制作為 demo,其中會用到三個 xApp 的服務,分別是:
整體架構與流程如圖所示
首先透過下列指令分別取得 qp、qp driver、ts 的 xApp config file
上述指令中,qp 的 image 檔案會有問題,所以這邊手動修正
首先,透過 port-forward 的方式使部署順利
將上述設定檔放入 helm list 中
查詢已放上的 xApp 的描述檔
啟動 xApp
首先確認 nonrtric 是否有指向正確的 IP
若無,則需進行修正後重新部署 Non-RT RIC
接著,確認運行在 Non-RT RIC 的 policymanagementservice 的 IP 以及他所使用的 port
我們這時可以確認到「policymanagementservice」(Policy-Agent) 的 port 為 9080 而 HTTP 所使用的則是 與 nodeport 為 30093,並且其 Cluster IP 為 10.109.58.175
此時,我們便可以透過 nonrtric 確認是否已取得 ricplt 的訊息
根據上圖,我們便可以看到有一個叫做「ric1」的 Near-RT RIC,並且其狀態為「AVAILABLE」
此處的「policyTypes」若為空的,則代表我們尚未創立任何的 policyTypes 至 Near-RT RIC,若已經建立,則可以跳過以下流程
首先確認 nonrtric 中運行的 controlpanel 狀態
根據上圖我們可以看到 controlpanel 的 port 為 8080 而 HTTP 所使用的則是 與 nodeport 為 30092
接著,我們針對 controlpanel 進行 port-forward 功能,使得外部可以存取該資訊
接著可以打開瀏覽器查看我們的 UI 介面,http://localhost:30091
就可以看到我們的 controlpanel 介面,並控制 xApp 的 policyTypes
從 UI 這邊可以看到目前還沒有任何東西,因此我們現在要建立一個 policyTypes,切回 CLI 介面,並建立一個 id 為 20008 的 policyTypes
首先於 ricplt 中確定 port forward 功能有正常啟動
接著開始定義 PolicyTypes 狀態
檢視 a1mediator 的 log 訊息是否成功新增
查看目前的 PolicyTypes
此時,我們再回來看 UI 介面,便可以看到已經建立的 PolicyTypes,並且其 id 為 20008,然而底下仍沒有任何實例可以使用,因此接著將在 20008 底下建立 policy 實例
同時回到 SMO CLI 中查看,原本空的 policyTypes 出現我們剛剛所建立 id 為 20008 在裡面
我們接下來於 id 為 20008 底下建立一個名為「policyTH15」的 policy 實例,作為流量閥值管理
首先建立一個 Service 名稱為「exampleSvc」
建立一個名為「policyTH15」的 policy 實例
查詢是否建立成功
建立完成後,也可以從 UI 介面查道此實例已建立完成
同時,若是透過 UI 更新閥值數值,透過 Near-RT RIC 的 CLI 介面也可同樣看到實際變化,以此證明 A1 介面是互通狀態