ONAP on Kubernetes on Huawei Cloud

This guide will provide the steps of how to create a running ONAP instance on Huawei Cloud.

We will use CCE (Cloud Container Engine) service in Huawei Cloud to quickly create a Kubernetes environment then deploy ONAP using OOM project.

        1. Visit Huawei Cloud Console 

There are different regions you can select, here we recommend Hong Kong for ONAP deployment.

2. Create Kubernetes Cluster using CCE

Select Cloud Container Engine from the Service List

Follow the instructions to create a Kubernetes cluster

CCE will take care of the Kubernetes master part while ECS (Elastic Cloud Server) will create the actual nodes.

ONAP will need 112 vCPUs, 224 RAM and 160G HD to provision all services, e.g. we can create 7 s3.4xlarge.2 VMs as illustrated below.

Here Data Disk is used for docker storage and 200G will guarantee thin pool won't run out.

After Kubernetes cluster is created, we will add EIP (Elastic IP) to each node so they can pull images from internet.

We can manage each node's EIP by clicking the name of a node to switch to Cloud Server Console dashboard. 

Instruction of How to set up kubctl command can be found in the resource management tab.



3. Follow the instructions of OOM to deploy ONAP

Deploy ONAP on a Kubernetes cluster launched by CCE is very similar to deploy ONAP on Kubernetes with Rancher

Since CCE node doesn't support Ubuntu for now, scripts to set up NFS will be slightly different.

master_nfs.sh

#!/bin/bash usage () { echo "Usage:" echo " ./$(basename $0) node1_ip node2_ip ... nodeN_ip" exit 1 } if [ "$#" -lt 1 ]; then echo "Missing NFS slave nodes" usage fi #Install NFS kernel sudo yum update sudo yum install -y nfs-utils sudo systemctl enable nfs-server #Create /dockerdata-nfs and set permissions sudo mkdir -p /dockerdata-nfs sudo chmod 777 -R /dockerdata-nfs sudo chown nobody:nobody /dockerdata-nfs/ #Update the /etc/exports NFS_EXP="" for i in $@; do NFS_EXP+="$i(rw,sync,no_root_squash,no_subtree_check) " done echo "/dockerdata-nfs "$NFS_EXP | sudo tee -a /etc/exports #Restart the NFS service sudo exportfs -a sudo systemctl restart nfs-server

slave_nfs.sh

#!/bin/bash usage () { echo "Usage:" echo " ./$(basename $0) nfs_master_ip" exit 1 } if [ "$#" -ne 1 ]; then echo "Missing NFS mater node" usage fi MASTER_IP=$1 #Install NFS common sudo yum update sudo yum install -y nfs-utils sudo systemctl enable nfs-client #Create NFS directory sudo mkdir -p /dockerdata-nfs #Mount the remote NFS directory to the local one sudo mount $MASTER_IP:/dockerdata-nfs /dockerdata-nfs/ echo "$MASTER_IP:/dockerdata-nfs /dockerdata-nfs nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0" | sudo tee -a /etc/fstab

Other than that, you can refer to the OOM deploy guide.