Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue
Introduction

The ICN blueprint family intends to address deployment of workloads in a large number of edges and also in public clouds using K8S as resource orchestrator in each site and ONAP-K8S as service level orchestrator (across sites).  ICN also intends to integrate infrastructure orchestration which is needed to bring up a site using bare-metal servers. Infrastructure orchestration, which is the focus of this page, needs to ensure that the infrastructure software required on edge servers is installed on a per-site basis, but controlled from a central dashboard.  Infrastructure orchestration is expected to do the following:

...

The user experience needs to be as simple as possible and even a novice user should be able to set up a site.

Use Cases

  1. SDEWAN CNF and IPSEC tunnelling between Edge Distributions
  2. Openness Edge deployments in ONAP
  3. SDWAN,  Customer Edge,  Edge Clouds – deploy VNFs/CNFs and applications as micro-services (Completed in R2 release using OpenWRT SDWAN Containerized)
  4. vFW
  5. EdgeX Foundry

Where on the Edge

Nowadays best efforts are put to keep the Cloud native control plane close to workload to reduce latency, increase performance, and fault tolerance. A single orchestration engine to be lightweight and maintain the resources in a cluster of compute node, Where the customer can deploy multiple Network Functions, such as VNF, CNF, Micro service, Function as a service (FaaS), and also scale the orchestration infrastructure depending upon the customer demand.

ICN target on-prem edge, 5G, IoT, SDWAN, Video streaming, Edge Gaming Cloud. A single deployment model to target multiple edge use case.

...

Kubernetes deployment (KUD) is a project that uses Kubespray to bring up a Kubernetes deployment and some addons on a provisioned machine. As it already part of ONAP it can be effectively reused to deploy the K8s App components(as shown in fig. II), NFV Specific components and NFVi SDN controller in the edge cluster. In R2 release KuD will be used to deploy the K8s addon such as  Virlet, OVN, NFD, CMK CPU Manager for Kubernetes and Intel device plugins such as SRIOV and QAT in the edge location(as shown in figure I). In R3 release, KuD will be evolved as "ICN Operator" to install all K8s addons. For more information on the architecture of KuD please find the information here

...

SDEWAN CNF module is worked as a software-defined router located in each edge location and central hub k8s cluster to manage central-edge and edge-edge communication. It's functionality is realized via CNF (Containerized Network Function) and deployed by K8s, it is based on OpenWRT (an open-source project based on Linux, and used on embedded devices to route network traffic) and leverages Linux kernel functionality for packet processings to support network functionalities such as multiple wan link support (mwan3), firewall/SNAT/DNAT (fw3) , IPSec (strongswan) etc. It exposes Restful APIs for configuration, detail information can be found at: SDEWAN CNF

SDEWAN Configure Agent(also named SDEWAN Controller)  module is worked as K8s controller located in each edge location and central hub k8s cluster to support configuration of SDEWAN CNF functionalities (e.g. mwan3, firwall, SNAT, DNAT, IPSec etc.) and monitor SDEWAN CNF status. It exposes CRDs to support configuration via K8s API server for unified authentication and authorization, detail information can be found at: Sdewan config Agent

SDEWAN controller: Huifeng Le Cheng Li Ruoyu Ying

Openness: Chenjie Xu

Cloud Storage:

Cloud Storage which used by BPA Rest Agent to provide storage service for image objects with binary, container and operating system. There are 2 solutions, MinIO and GridFS, with the consideration of Cloud native and Data reliability, we propose to use MinIO, which is CNCF project for object storage and compatible with Amazon S3 API, and provide language plugins for client application, it is also easy to deploy in Kubernetes and flexible scale-out. MinIO also provide storage service for HTTP Server. Since MinIO need export volume in bootstrap, local-storage is a simple solution but lack of reliability for the data safety, we will switch to reliability volume provided by Ceph CSI RBD in next release. Detail information can be found at: Cloud Storage Design

Software components:

CRD Controller

Openness: Openness is an open source reference toolkit that makes it easy to move applications from the Cloud to the Network and On-Premise Edge. Some components of Openness Network edge have been integrated. EAA (Edge Application Agent) which provides application/service registration and authentication in openness has been integrated via ONAP4K8S. What's more, we work with OpenNESS community to ensure that EAA address distributed applications that not only spread across nodes in one K8s clusters, but also across K8s clusters. For platform related microservices (Multus, SR-IOV CNI, SR-IOV Network Device Plugin, NFD, CMK), test cases of Openness have been integrated. 

Cloud Storage:

Cloud Storage (Cloud Storage Design) act as storage service and plugins, currently can divide into two parts:

  1. Storage Service for Local controller: which used by BPA Rest Agent to provide storage service for image objects with binary, container and operating system. There are 2 solutions, MinIO and GridFS, with the consideration of Cloud native and Data reliability, we propose to use MinIO, which is CNCF project for object storage and compatible with Amazon S3 API, and provide language plugins for client application, it is also easy to deploy in Kubernetes and flexible scale-out. MinIO also provide storage service for HTTP Server. Since MinIO need export volume in bootstrap, local-storage is a simple solution but lack of reliability for the data safety, we will switch to reliability volume provided by Ceph CSI RBD in next release. 
  2. Optane Persistent Memory plugin in KUD, which can provide LVM and direct volumes on Optane PM namespaces, since the Optane PM has high performance and low latency compared with normal SSD storage device, it can be used as cache, metadata volume or other high throughput and low latency scenarios.

Software components:


Components

Link

License

Akraino Release target

Provision stack - Metal3

https://github.com/akraino-icn/baremetal-operator - v1.0-icn

Apache License 2.0

R3

Ironic - Ironic IPA downloaderhttps://github.com/akraino-icn/ironic-ipa-downloader  - v1.0-icnApache License 2.0R3
Ironic - Ironic imagehttps://github.com/akraino-icn/ironic-image - v1.0-icnApache License 2.0R3
Ironic - Ironic Inspector Imagehttps://github.com/akraino-icn/ironic-inspector-image - v1.0-icnApache License 2.0R3

Host Operating system

Ubuntu 18.04

GNU General Public License

R3

NIC drivers

XL710 - https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf

GNU General Public License Version 2

R3

QAT driversIntel® C627 Chipset - https://ark.intel.com/content/www/us/en/ark/products/97343/intel-c627-chipset.htmlGNU General Public License Version 2R3
Intel® Optane™ DC Persistent Memory

Intel® Optane™ DC 256GB Persistent Memory Module  - 

https://www.intel.com/content/www/us/en/products/memory-storage/optane-dc-persistent-memory/optane-dc-256gb-persistent-memory-module.html

PMDK: Persistent Memory Development Kit - https://github.com/pmem/pmdk/

SPDX-License-Identifier - BSD-3-Clause

Components

Link

Akraino Release target

Provision stack - Metal3

https://github.com/metal3-io/baremetal-operator/

R3

Host Operating system

Ubuntu 18.04

R3

NIC drivers

XL710 - https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xl710-10-40-controller-datasheet.pdf
R3

ONAP

https://git.onap.org/multicloud

Apache License 2.0

R3

Workloads

OpenWRT SDWAN - https://openwrt.org/

GNU General Public License Version 2

R3

KUD

https://git.onap.org/multicloud/

k8s/

k8s/ 

Apache License 2.0
 

R3

Kubespray

https://github.com/kubernetes-sigs/kubespray v2

.10.4

.12.6

Apache License 2.0

R3

K8s

https://github.com/kubernetes/kubeadm - v1.

14

16.9

Apache License 2.0

R3

Docker

https://github.com/docker - 18.09

Apache License 2.0

R3

Virtlet

https://github.com/Mirantis/virtlet -1.4.4

Apache License 2.0

R3

SDN - OVN

https://github.com/ovn-org/ovn

-kubernetes

 - 0.3.0

Apache License 2.0

R3

OpenvSwitch

https://github.com/openvswitch/ovs - 2.

10.1

12

Apache License 2.0

R3

Ansible

https://github.com/ansible/ansible - 2.9.7

Apache License 2.
10
0

R3

Helm

https://github.com/helm/helm - 2.9.1

Apache License 2.0

R3

Istio

https://github.com/istio/istio - 1.0.

3

3

Apache License 2.0

R3

Rook/Ceph

https://rook.io/docs/rook/v1.0/helm-operator.html v1.0

Apache License 2.0

R3

MetalLB

https://github.com/danderson/metallb/releases - v0.7.3

Apache License 2.0

R3

OVN4NFV-K8Ss-Pluginhttps://github.com/opnfv/ovn4nfv-k8s-plugin - v0.9.0Apache License 2.0
Device Pluginshttps://github.com/intel/intel-device-plugins-for-kubernetes - SRIOVApache License 2.0R3

Node Feature Discovery

Apache License 2.0

R3

CNI

https://github.com/coreos/flannel/ - release tag v0.11.0

https://github.com/containernetworking/cni - release tag v0.7.0

https://github.com/containernetworking/plugins - release tag v0.8.1

https://github.com/containernetworking/cni#3rd-party-plugins - Multus v3.3tp, SRIOV CNI v2.0( with SRIOV Network Device plugin)

Apache License 2.0

R3

Hardware and Software Management

...

Hostname

CPU Model

Memory

Storage

1GbE: NIC#, VLAN,

(Connected

extreme 480 switch)

10GbE: NIC# VLAN, Network

(Connected with IZ1 switch)

Jump

2xE5-2699

64GB

3TB (Sata)
180 (SSD)

IF0: VLAN 110 (DMZ)
IF1: VLAN 111 (Admin)

IF2: VLAN 112 (Private)
VLAN 114 (Management)
IF3: VLAN 113 (Storage)
VLAN 1115 (Public)

node1

2xE5-2699

64GB

3TB (Sata)
180 (SSD)

IF0: VLAN 110 (DMZ)
IF1: VLAN 111 (Admin)

IF2: VLAN 112 (Private)
VLAN 114 (Management)
IF3: VLAN 113 (Storage)
VLAN 1115 (Public)

node2

2xE5-2699

64GB

3TB (Sata)
180 (SSD)

IF0:  VLAN 110 (DMZ)
IF1: VLAN 111 (Admin)

IF2: VLAN 112 (Private)
VLAN 114 (Management)
IF3: VLAN 113 (Storage)
VLAN 1115 (Public)

node3

2xE5-2699

64GB

3TB (Sata)
180 (SSD)

IF0: VLAN 110 (DMZ)
IF1: VLAN 111 (Admin)

IF2: VLAN 112 (Private)
VLAN 114 (Management)
IF3: VLAN 113 (Storage)
VLAN 1115 (Public)

node4

2xE5-2699

64GB

3TB (Sata)
180 (SSD)

IF0: VLAN 110 (DMZ)
IF1: VLAN 111 (Admin)

IF2: VLAN 112 (Private)
VLAN 114 (Management)
IF3: VLAN 113 (Storage)
VLAN 1115 (Public)

node5

2xE5-2699

64GB

3TB (Sata)
180 (SSD)

IF0: VLAN 110 (DMZ)
IF1: VLAN 111 (Admin)

IF2: VLAN 112 (Private)
VLAN 114 (Management)
IF3: VLAN 113 (Storage)
VLAN 1115 (Public)


Licensing

...

Refer Software Components list