紧跟技术前沿—— IOX-XE Guest-shell

  • A+
所属分类:网络
紧跟技术前沿—— IOX-XE Guest-shell

Introducing Python and Guest Shell on IOS-XE 16.5

IOS-XE 16.5用于ISR ,ASR 和CSR路由平台(依旧是Catalyst Switching生产线)软件可以在https://cisco.com/go/software进行下载此版本有的一些亮点

  • A modular approach to YANG Data Models for Cisco IOS-XE Features (ISR, CSR, ASR)
  • Support for Zero Touch Provisioning (ZTP) for Day 0 infrastructure setup (ISR)
  • New Application Hosting capabilities provided by a Linux Guest Shell (ISR)
  • Ability to develop and execute Python scripts On-Box (ISR)

Introducing Guest Shell

直接在终端设备上执行Python代码的能力是GuestShell提供的应用程序托管功能的一部分。 现在我们来开始了解关于GuestShell一些基础知识。GuestShell是一个容器化的Linux,可以在IOS-XE设备上启用。 在ISR 4000平台上,Guest Shell提供了一个CentOS 7环境,你可以在其中安装和运行应用程序,例如Python脚本。从Guest Shell中,你的应用程序可以访问host platform,bootflash和IOS CLI的网络。Guest Shell与底层主机软件隔离,以防止设备的核心网络功能受到干扰。

紧跟技术前沿—— IOX-XE Guest-shell

Guest Shell与主机(Cisco交换机和路由器)系统共享内核。用户可以访问Guest Shell的Linux shell并更新容器rootfs中的脚本和软件包。但是,Guest Shell中的用户无法修改主机文件系统和进程。Guest Shell容器使用IOx进行管理。IOx是思科针对Cisco IOS XE设备的应用托管基础架构。IOx支持托管思科,合作伙伴和第三方开发人员在网络边缘设备中开发的应用程序和服务,无缝地跨越各种不同的硬件平台。
此表提供有关各种Guest Shell功能和支持的平台的信息。

紧跟技术前沿—— IOX-XE Guest-shell

Guest Shell容器允许用户在系统上运行脚本和应用程序。Intel x86平台上的Guest Shell容器将是一个带有CentOS 7.0最小rootfs的Linux容器(LXC)。您可以在运行时使用CentOS 7.0中的Yum实用程序安装其他Python库,例如Python Version 3.0。您还可以使用PIP安装或更新python包。

IOx概述

IOx是思科开发的端到端应用程序框架,可为思科网络平台上的不同应用程序类型提供应用程序托管功能。Cisco Guest Shell是一种特殊的容器部署,是一种此类应用程序,在系统部署/使用中非常有用。IOx通过提供一组服务来帮助开发人员打包预先构建的应用程序并将其托管在目标设备上,从而促进应用程序和数据交换的生命周期管理。IOx生命周期管理包括应用程序和数据的分发,部署,托管,启动,停止(管理)和监视。IOx服务还包括应用程序分发和管理工具,可帮助用户发现应用程序并将其部署到IOx框架。应用托管提供以下功能:

  • 隐藏网络异质性。
  • IOx应用程序编程接口(API),远程管理设备上托管的应用程序的生命周期。
  • 集中式应用程序生命周期管理。
  • 基于云的开发人员体验。
  • IOx跟踪和日志记录概述
  • IOXMAN结构
  • 记录和跟踪系统流程
  • 记录和跟踪消息
  • IOx跟踪和日志

IOXMAN结构

紧跟技术前沿—— IOX-XE Guest-shell

下面让我们进入一些配置和代码! 对于这篇博文,我使用的是运行16.6.6的CSR 1000v,并且上面几乎没有其他配置。 在我们开始使用Python做一些有趣的事情之前,我们需要启动并运行Guest Shell。

紧跟技术前沿—— IOX-XE Guest-shell

Managing the Guest Shell 原理介绍

紧跟技术前沿—— IOX-XE Guest-shell

如果你学习过Docker,看这个图就很容易,因为内容重点原因。这里我只做一下简单的介绍。

G1是真实网卡,VPG相当于安装Docker后默认生成的br0网段为172.16.0.1的网卡,eth0相当于在Docker内部运行的一个网卡,自动生成为172.16.0.2的网卡。

进入Guest Shell (2)

紧跟技术前沿—— IOX-XE Guest-shell
CSR16.6(config)# interface GigabitEthernet1
CSR16.6(config-if)# ip nat outside
CSR16.6(config-if)# exit

CSR16.6(config-if)# interface VirtualPortGroup0
CSR16.6(config-if)# ip address 10.1.1.254 255.255.255.0
CSR16.6(config-if)# ip nat inside
CSR16.6(config-if)# exit

CSR16.6(config)#  ip route 0.0.0.0 0.0.0.0 192.168.80.1

CSR16.6(config)# ip access-list extended PAT_ACL
CSR16.6(config-ext-nacl)#  permit ip 10.0.0.0 0.0.0.255 any
CSR16.6(config)# ip nat inside source list PAT_ACL interface GigabitEthernet1 overload

CSR16.6# guestshell enable VirtualPortGroup 0 guest-ip 10.1.1.1 name-server 114.114.114.114

进入Guest Shell (3)

等待片刻,会出现下图现象:

紧跟技术前沿—— IOX-XE Guest-shell

进行结果验证:

紧跟技术前沿—— IOX-XE Guest-shell

紧跟技术前沿—— IOX-XE Guest-shell

上传文件到 Guest Shell

紧跟技术前沿—— IOX-XE Guest-shell

进入Guest Shell 运行Python脚本

添加接口下描述的脚本代码:

紧跟技术前沿—— IOX-XE Guest-shell

运行脚本之前查看接口下状态:

紧跟技术前沿—— IOX-XE Guest-shell

运行脚本:

紧跟技术前沿—— IOX-XE Guest-shell

运行脚本之后:

紧跟技术前沿—— IOX-XE Guest-shell
  • 我的微信
  • 欢迎大家,与我交流,非诚勿扰谢谢
  • weinxin
  • 奕知伴解 微信公众号
  • 扫一扫关注,从此不迷路。
  • weinxin
刘銮奕

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: