You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Introduction

This document describes the use of Public Cloud Edge Interface (PCEI) implemented based on Edge Multi-Cluster Orchestrator (EMCO) for deployment of Public Cloud Edge (PCE) Apps from multiple clouds (Azure and AWS), deployment of a 3rd-Party Edge (3PE) App (an implementation of ETSI MEC Location API App), as well as the end-to-end operation of the deployed PCE Apps using simulated Low Power Wide Area (LPWA) IoT client.

End-to-End Validation Environment

The end-to-end validation environment and flow of steps is shown below:

Description of components of the end-to-end validation environmen:

  • EMCO - Edge Multi-Cloud Orchestrator. PCEI Enabler functions are based on EMCO implementation. EMCO is deployed in the K8S cluster.
  • Edge K8S Clusters - Kubernetes clusters on which PCE Apps (Azure IoT Edge, AWS GGC), 3PE App (ETSI Location API Handler) are deployed.
  • Public Cloud - IaaS/SaaS (Azure, AWS).
  • PCE - Public Cloud Edge App (Azure IoT Edge, AWS GGC)
  • 3PE - 3rd-Party Edge App (ETSI MEC Location API App)
  • Private Interconnect / Internet - Networkin between IoT Device/Client and PCE/3PE as well as connectivity between PCE and PCC.
  • IoT Device - Simulated Low Power Wide Area (LPWA) IoT Client.
  • IP Network/vEPC/UPF) - Network providing connectivity between IoT Device and PCE/3PE. Note that in this validation the vEPC (virtual Evolved Packet Core) /UPF (User Plane Function) are not used.
  • MNO DC - Mobile Network Operator Data Center. Not used in the validation.
  • Edge DC - Edge Data Center. Equinix DC used in this validation.
  • Core DC - Public Cloud.
  • Developer - an individual/entity providing PCE/3PE App.
  • Operator - an individual/entity operating PCEI functions.

Note that P1, P3, P5/P7 Reference Points are shown to illustrate alignment with general PCEI architecture.

The end-to-end PCEI validation steps are described below:

  1. Deploy EMCO.
  2. Deploy Edge K8S clusters
  3. Onboard Edge K8S clusters onto EMCO
  4. Provision Public Cloud Core Service and PCE software.
  5. Package PCE/3PE Helm Charts into  EMCO
  6. Onboard PCE/3PE as a service/application into EMCO
  7. Deploy PCE/3PE onto the Edge K8S clusters
  8. All PCE pods came up and register with PCC. All 3PE pods come up.
  9. Deploy software onto PCE on the worker cluster
  10. Successfully pass LPWA IoT messages from a simulated IoT device to PCE, decode messages and send to PCC.

For performing Steps 1 and 2 please refer to the PCEI R4 Installation Guide.

Provisioning PCEI Orchestration Infrastructure (EMCO)

Please refer to the PCEI R4 Installation Guide to deploy EMCO and Edge K8S Clusters.

Due to current limitations in EMCO functionality, it is recommended that VNC is used to access the EMCO UI via a Web Browser as shown in the diagram below:

In order to be able to access the EMCO cluster and the Edge K8S cluster via ssh directly from a laptop as shown in the diagram above, please copy the ssh key used in the PCEI Installation to you local machine:

### copy id_rsa key from deployment host to be able to ssh to eco and cluster vm’s
sftp onaplab@10.121.1.12
get ~/.ssh/id_rsa pcei-emco

### ssh to VMs
ssh -i pcei-emco onaplab@10.121.7.145

Accessing EMCO UI

In order to access EMCO UI please install VNC Viewer on your local laptop and configure it to connect to the VNC server that was installed on the EMCO Host Server (refer to the PCEI R4 Installation Guide for VNC server installation instructions).

Connect to the VNC server, start the Browser and point it to the EMCO VM (amcop-vm-01) IP address and port 30480:

http://10.121.7.145:30480

You should be able to connect to EMCO UI as shown below:

Provisioning Network Controllers

The following Network Controllers must be provisioned in EMCO:

### Add controllers
rsync:
host : rsync
port: 9041
type: < leave blank, not required.>
priority: < leave blank, not required>

ovnaction:
host: ovnaction
port: 9053
type: action
priority: 1

To provision Network Controllers, please use the parameters shown above and EMCO UI "Controllers → Register Controllers" tab:

Fill in the parameters for the "rsync" and the "ovnaction" controllers:

Registering Edge Clusters

To register the two Edge K8S Clusters created during PCEI installation (refer to PCEI R4 Installation Guide), the cluster configuration files need to be copied from the corresponding VMs to the machine that is used to run the VNC server to access EMCO UI. Please make sure that the ssh key used to access the VMs is present on the machine that runs the VNC server. The example below assumes that the VNC server is running on the Host Server used to deploy EMCO and Edge Cluster VMs

# Determine VM IP addresses:
[onaplab@os12 ~]$ sudo virsh list --all
 Id    Name                           State
----------------------------------------------------
 6     amcop-vm-01                    running
 9     edge_k8s-1                     running
 10    edge_k8s-2                     running

[onaplab@os12 ~]$ sudo virsh domifaddr edge_k8s-1
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet1      52:54:00:19:96:72    ipv4         10.121.7.152/27

[onaplab@os12 ~]$ sudo virsh domifaddr edge_k8s-2
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet2      52:54:00:c0:47:8b    ipv4         10.121.7.146/27

sftp -i pcei-emco onaplab@10.121.7.146
cd .kube
get config kube-config-edge-k8s-2

sftp -i pcei-emco onaplab@10.121.7.152
cd .kube
get config kube-config-edge-k8s-1

Using EMCO UI "Cluster → Register Cluster Provider" tabs, provision Cluster Providers for EDGE-K8S-1 and EDGE-K8S-2 clusters:

Click on the Cluster Provider and click on "Add Cluster". Fill in the Cluster Name and add the config file downloaded earlier. Repeat for the two clusters EDGE-K8S-1 and EDGE-K8S-2:

You should see the following result:


At this point the edge clusters have been registered with the orchestrator and are redy for placing PCE and 3PE apps.

Deploying Azure IoT Edge with PCEI

Overall Deployment Summary

The deployment of Azure IoT Edge cloud native application as a PCE involves the following steps:

  1. Provision Azure Cloud (PCC).
    1. Provision IoT Hub.
    2. Provision Azure Container Registry.
  2. Enable custom software module for Azure IoT Hub (optional). This step is used to show end-to-end operation of Azure IoT Edge with a simulated LPWA IoT device.
    1. Install Visual Studio Code IDE.
    2. Add LoRaEdgeSolution code.
    3. Build and push the LoRaRead custom module to Azure Container Registry.
  3. Package Azure IoT Edge cloud native application.
    1. Download Helm charts.
    2. Modify values.yaml with IoT Edge authentication parameters.
    3. Package Helm charts into a tar file.
  4. Define Azure IoT Edge Service and PCE App in EMCO.
  5. Deploy Azure IoT Edge onto Edge K8S Cluster using EMCO.
  6. Verify IoT end-to-end IoT operation.
    1. Connect LPWA IoT device and pass encoded IoT messages to Azure IoT Edge.
    2. Decode LPWA messages using custom LoRaRead module.
    3. Pass decoded messaged to Azure Cloud.

Provisioning Azure Public Cloud Core (PCC) IoT Environment

Provisioning Azure Public Cloud Core

Login to your Azure Portal and add Subscription, IoT Hub and Container Registry Resources:

Provision IoT Hub:

Provision IoT Edge under IoT Hub:

Copy the "Primary Connection String" from the IoT Edge parameters. This string will be used later in the values.yaml file for the Azure IoT Edge Helm Charts.

Enabling Azure IoT Edge Custom Module

Packaging Azure IoT Edge Public Cloud Edge (PCE) Application

Defining Azure IoT Edge Service in PCEI

Deploying Azure IoT Edge PCE App on Edge Cluster

Verifying Azure IoT Edge End-to-End Operation

Deploying AWS GreenGrass Core with PCEI

Provisioning AWS Public Cloud Core (PCC) IoT Environment

Packaging AWS GGC Public Cloud Edge (PCE) Application

Defining AWS GGC Service in PCEI

Deploying AWS GGC PCE App on Edge Cluster

Verifying AWS GGC End-to-End Operation

Deploying Location API App with PCEI

Packaging PCEI Location API App

Defining Location API App in PCEI

Deploying PCEI Location API App on Edge Cluster




  • No labels