Junos PyEZ 이해
요약 Junos PyEZ Python 라이브러리를 사용하여 Junos 디바이스를 원격으로 관리하는 Python 스크립트를 개발할 수 있습니다.
Junos PyEZ 개요
Junos PyEZ는 Junos 디바이스를 관리하고 자동화할 수 있도록 지원하는 Python용 마이크로프레임워크입니다. Junos PyEZ는 자동화 작업을 위해 구축된 환경에서 사용자가 Junos OS CLI에 대해 가질 수 있는 기능을 제공하도록 설계되었습니다. Junos PyEZ는 Junos OS 또는 Junos XML API에 대한 광범위한 지식이 필요하지 않습니다.
Junos PyEZ를 사용하면 익숙한 Python을 사용하여 Junos 디바이스를 관리할 수 있습니다. 그러나 숙련된 프로그래머가 아니어도 Junos PyEZ를 사용할 수 있습니다. 프로그래머가 아닌 사람도 Python 대화형 모드에서 간단한 명령을 빠르게 실행할 수 있고, 숙련된 프로그래머는 작업을 수행하기 위해 더 복잡하고 강력하며 재사용 가능한 프로그램을 만들 수 있습니다.
Junos PyEZ를 사용하면 SSH를 통해 시리얼 콘솔 연결, 텔넷 또는 NETCONF 세션을 사용하여 디바이스에 직접 연결할 수 있습니다. 또한 Junos PyEZ는 텔넷 또는 SSH 연결을 통해 디바이스의 CONSOLE
포트에 연결된 콘솔 서버에 연결하는 것도 지원합니다. Junos PyEZ를 사용하면 디바이스에 직접 연결된 경우 시리얼 콘솔 연결을 사용하거나 디바이스에 직접 연결된 콘솔 서버를 통해 텔넷 또는 SSH를 사용하여 원격 액세스를 위해 아직 구성되지 않은 신규 또는 제로화된 디바이스를 초기에 구성할 수 있습니다.
Junos PyEZ는 Junos 디바이스에서 일반적인 운영 작업을 수행할 수 있도록 지원하는 디바이스, 소프트웨어 및 파일 시스템 유틸리티를 제공합니다. Junos PyEZ를 사용하여 수행할 수 있는 작업은 다음과 같습니다.
디바이스에서 팩트 또는 운영 정보 검색
Junos XML API를 통해 사용 가능한 원격 프로시저 호출(RPC) 실행
Junos OS 소프트웨어 설치 또는 업그레이드
장치 재부팅 또는 종료
파일 복사 및 체크섬 계산과 같은 일반적인 관리 작업 수행
Junos PyEZ를 사용하면 Junos 디바이스 구성도 관리할 수 있습니다. Junos PyEZ 구성 관리 유틸리티를 사용하면 다음을 수행할 수 있습니다.
구성 데이터 검색
구성 비교
구성 변경 사항 업로드 및 커밋
구성 롤백
복구 구성 관리
Junos PyEZ는 ASCII 텍스트, Junos XML 요소, Junos OS set
명령 및 JSON(JavaScript Object Notation)을 비롯한 구성 데이터에 대한 표준 형식을 지원합니다. 또한 Jinja2 템플릿과 템플릿 파일을 사용하여 유연성과 사용자 정의를 강화할 수 있습니다. 또한 테이블 및 뷰를 사용하여 프로그래밍 방식으로 장치를 구성하는 데 사용할 수 있는 구조화된 리소스를 정의할 수 있습니다.
Junos PyEZ 테이블 및 뷰를 사용하면 Junos 디바이스를 구성하고 디바이스에서 특정 운영 정보 또는 구성 데이터를 추출할 수 있습니다. 키-값 쌍 매핑이 포함된 간단한 YAML 파일을 사용하여 테이블 및 뷰를 정의하므로 이를 사용하기 위해 복잡한 코딩이 필요하지 않습니다. 테이블 및 뷰를 사용하여 Junos 명령 또는 RPC에 대한 디바이스 구성 또는 출력을 검색한 다음 사용자 지정된 정보 하위 집합을 추출할 수 있습니다. 이는 또는 show interfaces
명령과 같은 show route
광범위한 명령 출력에 포함된 몇 가지 특정 필드에서 정보를 검색해야 하는 경우에 유용합니다. 또한 테이블 및 뷰를 사용하여 구조화된 구성 리소스를 정의할 수 있습니다. Junos PyEZ는 리소스에 대한 구성 클래스를 동적으로 생성하므로 디바이스에서 리소스를 프로그래밍 방식으로 구성할 수 있습니다.
Junos PyEZ의 이점
Python 프로그래머는 물론 프로그래머가 아닌 사람도 Junos 디바이스를 쉽게 관리하고 자동화할 수 있는 추상화 계층을 제공합니다.
운영자가 일반적인 작업을 자동화할 수 있도록 하여 운영 효율성을 높임으로써 장치의 수동 구성 및 관리를 줄입니다.
대상 리소스의 구조화된 구성 변경을 가능하게 하여 오류와 위험을 최소화합니다.
자동화 스크립트에서 Junos PyEZ 사용
Junos OS 및 Junos OS Evolved는 지원되는 디바이스의 소프트웨어 이미지에 Python 확장 패키지와 Junos PyEZ 라이브러리를 포함합니다. 이러한 확장을 통해 Junos PyEZ를 사용하여 RPC를 실행하고 디바이스에서 운영 및 구성 작업을 수행하는 온박스 Python 스크립트를 생성할 수 있습니다. Junos PyEZ는 커밋, 이벤트, op 및 SNMP 스크립트에서 지원됩니다. JET(Juniper Extension Toolkit) 스크립트; 및 YANG 작업 및 변환 스크립트.
표 1 에는 해당 Junos OS 릴리스를 실행하는 지원되는 디바이스에서 사용할 수 있는 Junos PyEZ 버전이 요약되어 있습니다. 예를 들어, Junos OS 릴리스 17.4R1부터 온박스 Python 스크립트는 Junos PyEZ 릴리스 2.1.4 및 이전 릴리스의 기능을 활용할 수 있습니다.
Junos OS 릴리스 |
Junos PyEZ 버전 |
---|---|
16.1R3 - 17.3 |
1.3.1 |
17.4R1에서 19.3까지 |
2.1.4 |
19.4R1 이상 |
2.2.0 |
온박스 Python 자동화 스크립트 생성에 대한 자세한 내용은 Junos OS 자동화 스크립팅 사용자 가이드의 Junos OS를 실행하는 디바이스에 대한 Python 자동화 스크립트 이해를 참조하십시오.
Junos PyEZ 리소스
주니퍼 네트웍스는 표 2에 설명된 다양한 Junos PyEZ 리소스를 제공합니다.
리소스 |
설명 |
Url |
---|---|---|
API 참조 |
Junos PyEZ 모듈에 대한 자세한 설명서입니다. |
|
Day One: Junos PyEZ 쿡북 및 스크립트 리포지토리 |
Junos PyEZ 네트워크 자동화 쿡북에는 설정 가이드, 스타트업 샌드박스 및 GitHub에서 제공되는 전체 자동화 스크립트 쇼케이스가 포함되어 있습니다. |
https://www.juniper.net/documentation/en_US/day-one-books/DO_PyEZ_Cookbook.pdf https://github.com/Juniper/junosautomation/tree/master/pyez/PyEZ_Cookbook_2017 |
설명서 |
Junos PyEZ를 설치하고 Junos PyEZ를 사용하여 Junos 디바이스에서 운영 및 구성 작업을 수행하는 방법에 대한 자세한 정보가 포함된 Junos PyEZ 문서입니다. |
https://www.juniper.net/documentation/product/us/en/junos-pyez |
GitHub 리포지토리 |
Junos PyEZ 프로젝트를 위한 공용 리포지토리입니다. 이 리포지토리에는 모든 릴리스에 대한 최신 소스 코드, 설치 지침 및 릴리스 정보 요약이 포함되어 있습니다. |
|
Google 그룹스 포럼 |
Junos PyEZ에 대한 질문을 해결하고 일반적인 지원을 제공하는 포럼입니다. |
|
샘플 스크립트 |
Junos PyEZ 샘플 스크립트를 통해 시작할 수 있습니다. |
|
Stack Overflow 포럼 |
Junos PyEZ에 대한 질문을 해결하고 일반적인 지원을 제공하는 포럼입니다. |