Network Connectivity, Security and Applications for Smart Edge Open using flexiWAN, The World’s First Open-Source SD-WAN & SASE
Overview of flexiWAN
flexiWAN provides unique networking technology and open architecture for SD-WAN & SASE.
flexiWAN disrupts and democratizes the SD-WAN and SASE market with its 3 world First SD-WAN & SASE Open Source, First application store for SD-WAN & SASE, and First SaaS business model for SD-WAN & SASE
In addition to being a complete solution, flexiWAN removes vendor lock-in and breaks networking monopolies by slicing SD-WAN horizontally allowing for dynamic 3rd party applications (Smartphone concept) to be loaded and run in the data flow of the router or in the cloud management system.
Application Description
As cloud native platforms become the next generation evolution for Edge and Networking, Intel’s CNCF certified Smart Edge Open platform integration with flexiWAN makes it easy for Service Providers, ISVs, and SIs to onboard their workloads and offer services based on it.
Our flexiEdge on Intel’s SASE Experience Kit helps create and scale networking Edge instances for secure connectivity supporting scenarios such as branch-to branch, branch-to-PoP, or remote user to branch offices or PoP.
The application is centrally managed from the cloud using flexiManage. It enhances the traffic availability, quality and security over the network.
Smart Edge Open Building Blocks
The flexiEdge solution is installed on SASE Experience Kit as a kubevirt vm pod and utilizes the container network interfaces provided by Intel’s Smart Edge Open platform. flexiEdge provides secure connectivity over the WAN and to internal services, as well as SD-WAN and Security functionality on top of the Smart Edge Open platform.
Prerequisites
In order to successfully deploy flexiWAN, please follow the next steps:
•Intel® Smart Edge Open Secure Access Service Edge Experience Kit 22.05 or higher is installed
•Open an account with flexiWAN as described here.
Usage
Repository
flexiWAN Helm Charts are available in https://artifacthub.io/packages/helm/flexiwan/flexiedge.
To obtain it, clone the repo
$ helm repo add flexiwan https://helm.flexiwan.com/main .
$ helm repo update
Install the Chart
Once flexiWAN repository is added, run the following command
$ helm install my-flexiedge flexiwan/flexiedge
It is also possible to install a specific version of flexiEdge as follow:
$ helm install my-flexiedge flexiwan/flexiedge --set ImageVersion=5.3.16
Parameters
Image parameters
Name | Description | Value |
---|---|---|
ImageVersion | flexiEdge Docker Image version | latest |
flexiEdge parameters
Name | Description | Value |
---|---|---|
flexiedge.token | flexiWAN organization token for device registration. | "" |
Kubevirt parameters
Name | Description | Value |
---|---|---|
kubevirt.name | VirtualMachines Name. | flexiedge |
kubevirt.running | VirtualMachines Run Strategies. Determines whether or not there should be a guest running. | ture |
kubevirt.memory | VirtualMachines Memory allocation (Minimum 4G). | 4096M |
kubevirt.cpu | VirtualMachines VCPU allocation (Minimum 2 cores). | 2 |
kubevirt.mount | VirtualMachines Persistent Volume location on the host. | /mnt |
Network parameters
Name | Description | Value |
---|---|---|
ethernets.cni0.enabled | Default network interface (mandatory). Can not be disbaled. | true |
ethernets.cni0.type | Interface type. Valid optional: bridge (mandatory) | bridge |
ethernets.cni0.dhcp | Enable or Disable DHCP (mandatory) | true |
ethernets.cni0.dhcproutes | Enable or Disable getting Default Gateway via DHCP (optional) | true |
ethernets.cni 0.address | If DHCP is disable, please provide an IPv4 address (mandatory) | `` |
ethernets.cni0.gateway | if DHCP is disable, please provide an IPv4 gateway (optional) | `` |
ethernets.cni0.nameservers.search | DNS Name Server Search | flexiwan.local |
ethernets.cni0.nameservers.search.addresses | DNS Name Servers | [8.8.8.8, 1.1.1.1] |
ethernets.cni1.enabled | Default network interface (mandatory). | true |
ethernets.cni1.type | Interface type. Valid optional: sriov, bridge (mandatory) | sriov |
ethernets.cni1.sriov | SRIOV Virtual Function alias (mandatory when using type: sriov) | smartedge-apps/sriov-vfio-network-c1p1 |
ethernets.cni1.dhcp | Enable or Disable DHCP (mandatory) | false |
ethernets.cni1.dhcproutes | Enable or Disable getting Default Gateway via DHCP (optional) | true |
ethernets.cni 1.address | If DHCP is disable, please provide an IPv4 address (mandatory) | 192.168.1.1/24 |
ethernets.cni1.gateway | if DHCP is disable, please provide an IPv4 gateway (optional) | `` |
ethernets.cni1.nameservers.search | DNS Name Server Search | flexiwan.local |
ethernets.cni1.nameservers.search.addresses | DNS Name Servers | [8.8.8.8, 1.1.1.1] |
Test Output
The following example provide a way to deploy flexiEdge with the following parameters:
Name: flexiwan
Ethernet interface:
• ICNI0 as calico interface with no dhcp router in disable mode
• CNI1 as SRIOV interface assign to sriov-vfio-network-c1p1 with manual IP configuration (172.16.0.2/29 and Gateway 172.16.0.1)
Token: ************************<dump - copy from the following link>
See the text and dump here:
https://artifacthub.io/packages/helm/flexiwan/flexiedge#example
helm install flexiwan flexiwan/flexiedge --set ethernets.cni0.dhcproutes=false --set ethernets.cni1.type=sriov \
--set ethernets.cni1.sriov=smartedge-apps/sriov-vfio-network-c1p1 --set ethernets.cni1.dhcp=false \
--set ethernets.cni1.address=172.16.0.2/29 --set ethernets.cni1.gateway=172.16.0.1 \
–flexiwan.token=”*******************************************************”
NAME: flexiedge
LAST DEPLOYED: Sun Aug 28 16:40:24 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
==========================================================================
Thank you for using flexiWAN - The World’s First Open Source SD-WAN & SASE
==========================================================================
1. flexiEdge is now running on your Kubernetes cluster
2. NOTE: It may take a few minutes for the VM to be available.
You can watch the status of by running 'kubectl get --namespace flexiedge vmi -w'
3. To uninstall helm chart use the command:
helm delete flexiedge
Exposing flexiEdge Web Interface
This HelmChart does not expose the flexiEdge Web Interface by default. User port forwarding to expose it:
$ kubectl port-forward $(kubectl get pods --selector "app.kubernetes.io/name=flexiEdge" --output=name) 8080:80
Uninstall Chart
In order to delete flexiWAN simply run the following command:
$ helm delete my-flexiedge
Test Output
$ helm uninstall my-flexiedge
release "my-flexiedge" uninstalled
Troubleshooting
To troubleshoot the Helm Chart installation process:
•First make sure the Helm is deployed:
$ helm list | ||||||
NAME | NAMESPACE | REVISION | UPDATED | STATUS | CHART | APP VERSION |
my-flexiedge | default | 1 | 2022-08-28 18:27:28 | 471894243 +0000 | UTC deployed | flexiedge-0.0.1 latest |
•Check if the virt-launcher Pod is running
$ get pod -n my-flexiedge | ||||
NAME | READY | STATUS | RESTARTS | AGE |
virt-launcher-flexiedge-kxrft | 1/1 | Running | 0 | 2m6s |
•Check if the VMI is running
$ kubectl get vmi -n my-flexiedge | |||||
NAME | AGE | PHASE | IP | NODENAME | READY |
flexiedge | 2m47s | Running | 10.245.14.167 | ubuntu-4042ff21dd | True |
•Access the VM via the Virtual Console (default user: admin, default password: flexiwan)
$ virtctl console flexiedge -n my-flexiedge
Successfully connected to flexiedge console. The escape sequence is ^]
Ubuntu 18.04 LTS flexiedge ttyS0
flexiedge login:
To troubleshoot flexiWAN issues refer to the troubleshooting guide here
Additional Information
After deploying flexiWAN, follow the documentation steps here to complete the configuration.
Related material
https://flexiwan.com/
https://flexiwan.com/academy/
https://docs.flexiwan.com/
Where to Purchase
To start a free trial and use flexiWAN’s SaaS platform, visit https://flexiwan.com/ and open a free account.
Optimized for Intel® Smart Edge
Install
flexiWAN - flexiEdge
Retrieve Container Images and Helm Charts
Containers: https://hub.docker.com/r/flexiwan/flexiedge
Helm Charts: https://artifacthub.io/packages/helm/flexiwan/flexiedge
Pre-load Docker Images on Nodes
docker pull flexiwan/flexiEdge
Deploy Service
helm repo add flexiwan
https://helm.flexiwan.com/main
helm install my-flexiedge flexiwan/flexiedge
Where to Purchase
To start a free trial and use flexiWAN’s SaaS platform, visit https://flexiwan.com/ and open a free account.