xApp 是部署於 Near-RT RIC 的一種應用,這邊就基於之前說的來進行部署
首先確認port 32080是否已被service 「r4-infrastructure-kong-proxy」使用
$ kubectl get service -A | grep 32080
Learn More →
此時,請先確認TCP port 32080 是否也同時被「kube-proxy」使用
$ netstat -anp | grep 32080
Learn More →
以下提供兩種解法,選擇好後才繼續進行下一步:
# 修改前
$ curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
# 修改後
$ curl --location --request POST "http://10.97.175.213:32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
# 確認pod名稱
$ kubectl get pods -A | grep kong
ricplt r4-infrastructure-kong-646b68bd88-tljzz 2/2 Running 1 4h20m
# 設定port-forwarding (該視窗不可關閉,可於背景執行)
$ kubectl port-forward r4-infrastructure-kong-646b68bd88-tljzz 32088:32080 -n ricplt
Learn More →
當有資料進來時,便可以看到Handling的訊息出現
接著後續指令便可透過「localhost」的方式進行(以下指令僅為示範差異,不要執行)
# 修改前
$ curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
# 修改後
$ curl --location --request POST "http://localhost:32088/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
取得「Helloworld xApp」設定訊息拉下來,並存成url檔
$ echo '{ "config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/hw.git;a=blob_plain;f=init/config-file.json;hb=HEAD" }' > onboard.hw.url
On-boarding xApp (這裡示範第二個解法)
$ curl --location --request POST "http://localhost:32088/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
Learn More →
驗證helm charts
$ curl --location --request GET "http://localhost:32088/onboard/api/v1/charts"
Learn More →
啟動xApp pod
$ curl --location --request POST "http://localhost:32088/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "hwxapp"}'
$ kubectl get pods -n ricxapp # 要等待一下才會啟動
Learn More →
Learn More →
至此 xApp 部署已完成
首先中斷 xApp 的運行
$ kubectl get all -n ricxapp
$ kubectl delete deployment.apps/ricxapp-hwxapp -n ricxapp
Learn More →
找到運行管理 xApp 的 pod (appmgr)以及其 container
$ kubectl get pods -A | grep appmgr
$ docker container list | grep appmgr
Learn More →
接著進入 appmgr container 中,確認目前 appmr 所管理的 xApp 列表
$ docker exec -it 3c71f53defa4 sh
> pwd
> which helm
> helm list
Learn More →
從helm list
可以發現即使 xApp 的服務已經刪除,然而原本的 xApp 仍然還存在 appmgr 的儲存列表中
因此,若要完全刪除此 xApp,需進入 appmgr 進行刪除
> helm delete --purge hwxapp
> helm list
Learn More →
至此一個 xApp 完整被刪除
首先確認 helm server 是正在運行的
$ helm serve
Learn More →
接著進入 appmgr container 中刪除 stable 選項,否則重新部署時會有超時(timeout)的問題
$ docker exec -it 3c71f53defa4 sh
> helm repo list
> helm repo remove stable
> helm repo list
Learn More →
接著重新執行部署 xApp 的流程
一樣先取得 url (若已經有了,則略過此步驟),將 xApp 上傳至 helm 儲存庫,最後部署 xApp
tags: 實用工具 撰寫日期:2021/04/09 作者:Lycoris 如何於 VSCode 自製語法突顯(Syntax Highlight) 一、前言與基本概念 語法突顯(Syntax Highlight) 能將程式碼上色,一眼就能看出關鍵字、眼睛也比較舒服。 VSCode 上已經有需多前人貢獻的相關擴充功能,但如果是自己打的紀錄報告或公司內部特有的 Log 檔案風格,就要自己想辦法。這篇就是做個步驟備忘,首先上個成品範例:Starburst!!!
Sep 2, 2024C++中float,double到底保留幾位有效數字
Jun 5, 2024為因應計畫要用的 Demo,先把我做過的事情紀錄一下
Jan 11, 2024tags: 實用工具 撰寫日期:2020/08/11 作者:Lycoris 目錄 前言 一般在 HackMD 預設使用的圖床是 imgur,但據說 imgur 會清除六個月無人瀏覽的圖片,所以不適合放重要的東西。 這篇介紹如何在 HackMD 使用 Google 雲端硬碟的圖片,因雲端硬碟穩定且好管理的特性,資料可較容易備份,且當以後圖片越來越多時也不會亂掉。 但不確定這方法能活多久就是,Google 本身似乎不喜歡這種行為
Jan 7, 2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up