---
# System prepended metadata

title: <5G O-RAN 筆記2> O-RAN 元件平台
tags: [套件部署, ' 5G O-RAN']

---

---
tags: 套件部署, 5G O-RAN
GA: UA-79596126-4
title: <5G O-RAN 筆記2> O-RAN 元件平台
---
{%hackmd BJrTq20hE %}
###### 作者: 史啜林
###### 撰寫日期：2021/11/24
# <5G O-RAN 筆記2> O-RAN 元件平台

為因應計畫要用的 Demo，先把我做過的事情紀錄一下

部署架構如下圖所示
![](https://i.imgur.com/wZhdDs7.jpg)


### 實驗環境

- Ubuntu 18.04
- docker 20.10.7
- kubectl 1.16.0
- kubeadm 1.16.0
- kubelet 1.16.0

### Step 1: 取得 O-RAN 官方 github 內容

O-RAN 官方提供的 script 包含了 k8s 的安裝，所以其實可以不用先手動安裝 k8s，但如果已經有的話，你可以減少很多步驟，很棒~!

以下範例我們用 B 版本示範與說明 (我在寫得時候已經更新到 D 了)

```bash
$ cd /home/user
$ sudo -i
$ git clone http://gerrit.o-ran-sc.org/r/it/dep -b bronze
$ cd dep
$ git submodule update --init --recursive --remote
```


### Step 2: 產生 cloud-init 腳本

此步驟將生成一個腳本，該腳本將設置單節點 Kubernetes 集群

```bash
## 將版本需求設定調整為Frankfurt
$ cd tools/k8s/etc
$ vim infra.rc
```
![](https://i.imgur.com/BspMNwz.png)


生成部署K8S叢集腳本
```bash
$ cd ../bin
$ ./gen-cloud-init.sh
$ ls

產生之腳本 「k8s-1node-cloud-init-k_1_15-h_2_16-d_18_09.sh」
```
![](https://i.imgur.com/tbkIH0Z.png)


### Step 3: 安裝Kubernetes、Helm、Docker等
執行官方提供的腳本安裝k8s、Helm、Docker等套件
```bash
$ ./k8s-1node-cloud-init-k_1_15-h_2_16-d_18_09.sh
```

完成後主機將進行重啟，重啟完畢後便可檢查是否有啟動9個pod

```bash
$ sudo su
$ kubectl get pods --all-namespaces
```
![](https://i.imgur.com/wZGyW74.png)



### Step 4 : 安裝Near-RT RIC相關套件
部署Near-RT RIC相關套件之前，要先修改一些設定檔
首先，修正kong下載的image檔
```bash
$ cd ~/dep/ric-dep/helm/infrastructure/subcharts/kong
$ vim values.yaml
```
```yaml=184
repository: kong/kubernetes-ingress-controller
```
![](https://i.imgur.com/F7iro99.png)
完成後便可以執行安裝腳本
```bash
$ cd ~/dep/bin
$ ./deploy-ric-platform -f ../RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml
```
完成後可以看到這個畫面
![](https://i.imgur.com/hHfotHy.png)
此時便可透過指令看目前所有的pod，應有16個pod起在ricplt namespace
```bash
$ kubectl get pod -A
```
![](https://i.imgur.com/Oic6IC8.png)

理論上到這裡部署就結束了


