IOx: Support 3rd Party Apps in KVMs

The IOx: Support 3rd Party Apps in KVMs feature enables fog computing on Cisco IOS. IOx provides support for implementation of third party applications (KVMs) on Cisco network edge devices and across multiple hardware platforms. The IOx: Support 3rd Party Apps in KVMs feature supports Local Manager which is the Web UI supported by Cisco Application Hosting Framework (CAF) and also supports Fog Director which is the centralized management engine which can be used to manage the entire lifecycle of an application.

Information About IOx: Support 3rd Party Apps in KVMs

The IOx: Support 3rd party apps in KVMs feature provides support for hosting multiple 3rd party applications ( KVM's) on the same hardware. The IOx: Support 3rd party apps in KVMs feature provides an SDK and also supports virtualization. Each VM is independent of the other and resources are shared among the VM's. The developer can specify resources that is to be allocated for each VM.

The IOx: Support 3rd party apps in KVMs feature provides a platform that allows you to manage the entire life cycle of applications including development, distribution, deployment, hosting, monitoring, and management. The reporting module provides effective monitoring capabilities for maximizing security while connecting the applications and services to the cloud. ASR1K NPTv6 allows for greater reliability as it provides support for multihoming and load balancing and achieves the translation without breaking the end-to-end reachability at the network layer.

Benefits of Using IOx: Support 3rd Party Apps in KVMs

The IOx: Support 3rd party apps in KVMs feature provides a common software infrastructure to host applications in network devices in such a way that they are independent of the hardware the applications are hosted on.

The IOx: Support 3rd party apps in KVMs feature supports Local Manager which is a user friendly interface that is provided for making it easy for the developers and the administrators to build and deploy IOx applications across multiple hardware platforms. IOx also provides a set of services that can be used to accelerate the development of IOx applications and supports complete life cycle management capabilities for applications hosted on network devices.

Fog Director is supported by the IOx: Support 3rd party apps in KVMs feature which enables you to perform actions like start or stop, uninstall, and upgrade applications. Fog director supports can be scaled to support up to 5000 devices which enables you to perform lifecycle enablement tasks on la arge number of devices simultaneous, with minimal delay. You can also monitor applications installed on all devices and can also troubleshoot applications and the application enablement infrastructure using the Fog Director.

Restrictions for IOx: Support 3rd Party Apps in KVMs

  • IOx supports only VM style applications. LXC (container applications) is not supported.

  • IOx is not backward compatible with Vman. If an application is deployed using Vman CLI, IOX does not support it.

  • IOx: Support 3rd Party Apps in KVMs does not support concurrent requests from multiple clients. You cannot use Fog-director or Local manager simultaneously for any operation.

  • The maximum number of applications that can be in running state at any instant is 4. This is consistent across all Polaris platforms.

  • For ASR1K, the maximum VCPU per application is 1 and maximum CPU resource per application is limited to 12% even if you request for more.

Prerequisites for Configuring IOx: Support 3rd Party Apps in KVMs

Make sure that you have a router that has a hard-disk or NIM-SSD and a minimum of 8GB RAM before deploying IOx to prevent application failure when deployed using IOx.

You must first enable the IOx on the device using the iox configuration command to be able to start using the user interface and services.

Configuring IOx: Support 3rd Party Apps in KVMs

To enable IOx:
enable
 configure terminal
  iox
  exit
To disable IOx:
enable
 configure terminal
  no iox
  exit
To setup a management interface to pass traffic to Cisco Application Hosting Framework (CAF). In the following configuration we enable both IPv4 and IPv6:
enable
 configure terminal
vrf definition Mgmt-intf
 			address-family ipv4
 			exit-address-family
  			address-family ipv6
 			exit-address-family
    exit
To configure a DHCP pool for an application to obtain an IP address from the address pool:
enable
 configure terminal
   ip dhcp pool gospool
 			network 25.25.0.0 255.255.255.0						
 			default-router 25.25.0.1
 			domain-name sample.com
 			dns-server 72.163.128.140
 			remember
    exit
To enable login credentials for Polaris WebUI under which IOx Local Manager is embedded:
enable
 configure terminal
   username root privilege 15 password 0 root
  		exit
	configure terminal
		interface VirtualPortGroup1
		 	ip address 25.0.0.1 255.255.255.0
   end
To enable a virtual interface between IOS and VMAN from where traffic can be passed to an application. IOx currently uses only this interface:
enable
 configure terminal
  ip nat inside
 			no mop enabled
 			no mop sysid
 			exit
		interface VirtualPortGroup0 
	configure terminal
interface		GigabitEthernet0/0/3	
   end
To setup WAN interface for passing traffic from outside to an application and assigning IP address for management interface:
enable
 configure terminal
  ip address 10.126.93.198 255.255.255.0
 			ip nat outside
			media-type rj45
 			negotiation auto
    exit  		
		interface GigabitEthernet0/0/3
	configure terminal
  interface GigabitEthernet0														
 	 description Management Interface
   exit
  vrf forwarding Mgmt-intf
 		ip address 1.100.40.24 255.255.255.0
			negotiation auto
			exit
		interface GigabitEthernet0
	 end
To enable IOx to accept third party applications or unsigned applications. In the following configuration App1 is the name of the application to be deployed and the traffic to the application is passed through virtual service Virtualportgroup1:
enable
 configure terminal
  virtual-service
 		signing level unsigned 
			exit
		virtual-service
	 configure terminal
		 virtual-service App1
 		vnic gateway VirtualPortGroup1
   exit
  virtual-service App1
  end
To enable IOx, HTTP server for enabling user interface, and NAT configuration of external traffic to an application using WAN interface:
enable
 configure terminal
	 Iox
  ip nat inside source static tcp 25.25.0.2 9000 interface GigabitEthernet0/0/3 9000   
		ip nat inside source list NAT_ACL interface GigabitEthernet0/0/3 overload
		ip forward-protocol nd
		ip http server
		ip http authentication local
		ip http secure-server
		ip route 0.0.0.0 0.0.0.0 10.126.93.1
		ip route 10.0.0.0 255.0.0.0 10.126.93.1
		ip access-list standard NAT_ACL
 	permit 25.25.0.0 0.0.255.255
  exit                 
	ip access-list standard NAT_ACL
 end 
enable
 configure terminal
   interface GigabitEthernet0/0/0
   ipv6 address 2001:AB01::1/64
    ipv6 enable
    nat66 inside
    negotiation auto
   interface GigabitEthernet0/0/1
    ipv6 address 2002:AB01::1/64
    ipv6 enable
    nat66 outside
    negotiation auto
   nat66 prefixinside 2002:AB01::/64outside 2002:AB02::/64
   end

Verifying IOx: Support 3rd Party Apps in KVMs Configuration


Note

The debugs for IOx can be enabled and downloaded from the System Info tab of the Local Manager (IOx WebUI).


Use the show iox-service command to verify the IOx configuration:
Device# show iox-service
Virtual Service Global State and Virtualization Limits:

	Infrastructure version : 1.7
	Total virtual services installed : 1
	Total virtual services activated : 0

	Machine types supported   : KVM, LXC
	Machine types disabled    : none

	Maximum VCPUs per virtual service : 4
	Resource virtualization limits:
	Name                         Quota     Committed     Available  
	--------------------------------------------------------------
	system CPU (%)                  75             0            75  
	memory (MB)                   4096             0          4096  
	bootflash (MB)                1000             0           575  
	harddisk (MB)                20000         10077          8983  
	volume-group (MB)           381552             0        361072  


	IOx Infrastructure Summary:
	---------------------------
	IOx service (CAF) : Running 
	Libvirtd          : Running

Additional References for IOx: Support 3rd Party Apps in KVMs

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Command List, All Releases

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for IOx: Support 3rd Party Apps in KVMs

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for IOx: Support 3rd Party Apps in KVMs

Feature Name

Releases

Feature Configuration Information

IOx: Support 3rd Party Apps in KVMs

Cisco IOS XE Denali 16.3.1

The IOx: Support 3rd Party Apps in KVMs feature enables fog computing on Cisco IOS. IOx provides support for implementation of third party applications and services on Cisco network edge devices and across multiple hardware platforms.

The following platforms are supported by the IOx: Support 3rd Party Apps in KVMs feature in this release: ASR1001-X, ASR1002-X, ASR1002-HX, ASR1001-HX, ISR4321, ISR4331, ISR4351, ISR4431, ISR4451x.

The following commands were modified: show iox-service