前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >紧跟技术前沿——IOX-XE Guest-shell

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

作者头像
刘銮奕
发布2019-07-22 17:25:04
1.6K0
发布2019-07-22 17:25:04
举报
文章被收录于专栏:奕知伴解奕知伴解奕知伴解

PC端建议访问

https://www.liuluanyi.cn

或点击底部原文阅读


目录

Introducing Python and Guest Shell on IOS-XE 16.5

Introducing Guest Shell

IOx概述

IOXMAN结构

Managing the Guest Shell 原理介绍

进入Guest Shell (2)

进入Guest Shell (3)

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与底层主机软件隔离,以防止设备的核心网络功能受到干扰。

Guest Shell与主机(Cisco交换机和路由器)系统共享内核。用户可以访问Guest Shell的Linux shell并更新容器rootfs中的脚本和软件包。但是,Guest Shell中的用户无法修改主机文件系统和进程。

Guest Shell容器使用IOx进行管理。IOx是思科针对Cisco IOS XE设备的应用托管基础架构。IOx支持托管思科,合作伙伴和第三方开发人员在网络边缘设备中开发的应用程序和服务,无缝地跨越各种不同的硬件平台。

此表提供有关各种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结构

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

Managing the Guest Shell 原理介绍

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

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

进入Guest Shell (2)

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)

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

进行结果验证:

上传文件到 Guest Shell

进入Guest Shell 运行Python脚本

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

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

运行脚本:

运行脚本之后:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奕知伴解 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • https://www.liuluanyi.cn
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档