Junos PyEZ是一个用于远程管理和自动化Junos设备的Python库。该库旨在降低使用门槛,用户无需具备高级编程技能、深入的Junos知识或复杂的Junos XML API理解。此Docker镜像封装了Junos PyEZ库,便于快速部署和使用,适用于网络自动化场景。
注意:该仓库处于积极开发中,克隆代码可能获取到最新但未必完全稳定的版本。
Junos PyEZ提供与Junos CLI类似的管理能力,专为自动化任务设计,主要功能包括:
例如网络工程师等非程序员用户,可使用本地管理设备(笔记本电脑、平板、手机等)上的Python shell作为远程管理Junos设备的控制端。Python shell提供交互式环境,支持条件测试、循环、宏、模板等常见自动化任务所需的构建块,操作方式类似Bash等shell环境。用户可通过原生哈希表、数组等结构管理设备,无需处理设备特定的Junos XML或进行CLI屏幕抓取。
随着网络基础设施与IT系统整合需求增加,软件开发者、DevOps工程师等需要将网络自动化融入更大系统。Junos PyEZ设计为可扩展,便于开发者快速添加新功能以满足特定项目需求,无需依赖厂商提供更新,且不绑定特定Junos版本或产品系列。
交互式Docker使用
进入包含脚本的本地目录,运行容器以启动交互式Bash会话。本地脚本将挂载到容器的/scripts目录:
bashdocker run -it [ --rm ] [ --name pyez ] -v $PWD:/scripts juniper/pyez
微服务模式使用
该镜像可作为预安装Junos PyEZ库的Python"可执行文件"使用。挂载包含Python脚本的目录,并将脚本名作为参数传递给docker run:
bashdocker run -it [ --rm ] -v some/dir:/scripts juniper/pyez [ myscript.py ]
额外依赖安装:
requirements.txt文件,通过环境变量$REQ指定或挂载到/extras/requirements.txt$APK指定或挂载到/extras/apk.txt以下示例代码连接Junos设备并显示设备基本信息:
pythonfrom pprint import pprint from jnpr.junos import Device with Device(host='my_host_or_ipaddr', user='jeremy', password='jeremy123') as dev: pprint(dev.facts)
示例输出(SRX-210设备):
python{ '2RE': False, 'RE0': { 'last_reboot_reason': '0x20:power-button soft power off', 'model': 'RE-SRX210H', 'status': 'OK', 'up_time': '10 minutes, 3 seconds' }, 'domain': 'workflowsherpas.com', 'fqdn': 'srx210.workflowsherpas.com', 'hostname': 'srx210', 'ifd_style': 'CLASSIC', 'model': 'SRX210H', 'personality': 'SRX_BRANCH', 'serialnumber': 'AD2909AA0096', 'switch_style': 'VLAN', 'version': '12.1X44-D10.4', 'version_info': junos.version_info(major=(12, 1), type=X, minor=(44, 'D', 10), build=4) }
Device构造函数的ssh_private_key_file参数时,确保SSH密钥为RSA格式(非OPENSSH格式):
ssh-keygen -p -m PEM -f ~/.ssh/id_rsassh-keygen -p -m PEM -f ~/.ssh/private_keyhead -n1 ~/.ssh/private_key(RSA格式以-----BEGIN RSA PRIVATE KEY-----开头,OPENSSH格式以-----BEGIN OPENSSH PRIVATE KEY-----开头)Apache 2.0
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务