昨天部屬好3GPP 管理系統今天要來部屬NFV MANO 這邊就來使用Free5gmano提供的kube5gnfvo來進行部屬。
Kube5gnfvo github
首先先進行必要程式的安裝
git clone https://github.com/free5gmano/kube5gnfvo.git
cd kube5gnfvo
git checkout for-K8S-1.2X #可用於K8S以上的版本
cd example
kubectl apply -f multus-daemonset.yml
apt install openvswitch-switch -y
ovs-vsctl add-br br1
kubectl apply -f ovs-cni.yaml
---
cat <<EOF >./ovs-net-crd.yaml
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: ovs-net
annotations:
k8s.v1.cni.cncf.io/resourceName: ovs-cni.network.kubevirt.io/br1
spec:
config: '{
"cniVersion": "0.3.1",
"type": "ovs",
"bridge": "br1"
}'
EOF
kubectl apply -f ovs-net-crd.yaml
# 安裝好後就可進行python套件安裝與資料庫的migrate
cd kube5gnfvo
pip3 install -r requirement.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 magage.py runserver 0.0.0.0:30888
啟動後若沒錯誤應該會看到這個畫面
而部屬好nfvo 我們還需要告訴3GPP管理系統我們nfvo服務應該怎麼呼叫與控制,因此我們需要上傳服務映射模組(Service mapping plugin)
free5gmano有提供kube5gnfvo plugin的範例 並且要安裝plugin的框架
service-mapping-plugin-framework
simpleexampleplugin
git clone https://github.com/free5gmano/service-mapping-plugin-framework.git
cd service-mapping-plugin-framework
python3 setup.py install
# 安裝完後就可以下載nfvo的plugin了
git clone https://github.com/free5gmano/simpleexampleplugin.git
下載好後將整個資料夾打包成一個zip檔案 上傳至free5gmano
上傳成功後就可以 開始撰寫VNF的描述檔 這部分會在DAY10繼續介紹