본문 바로가기

python

(33)
Docker : Part 6 Docker,Remote, API,client, library, python,host, 원격, 리모트, 도커, git : today Key Docker의 6번째 포스팅입니다. 이번 포스팅에서는 Docker를 Remote에서 제어할 수 있도록 제공되는 Remote API client libraries에 대해서 다뤄봅니다. 보안적인 측면보다는 최대한 우선 쉽게 접근하는 걸 목표로 잡고 있기 때문에 이 점은 감안해서 봐주시면 감사하겠습니다. ^^ 이런 식으로 Docker를 Client에서도 다룰 수 있다는 것 정도로 보면 어떨까 싶습니다! ^^ 물론 이러한 API를 활용하여 Docker Host를 관리하도록 한다면 Docker의 명령을 직접 입력하지 않고 Application을 클릭하는 것만으로도 docker..
Programmability for Networker : Part 21 (Arista pyeapi:3) pyeapi, api, node, python, programmability : today Key 이번 포스팅은 지난 시간에 이어서, arista의 pyeapi에 대한 간략한 포스팅입니다. pyeapi를 사용 시에 기본적으로 보게 된, 몇 가지의 코드 내용을 간략하게 알아봅니다. 별도로 구현부까지는 세부적으로 알아보지 않고, 각 주요 메서드에 대한 사용법과 설명만 하였습니다. 추후에 필요에 따라서 이렇게 주요 메서드에 대해서는 추가로 알아 볼 예정이며, 또한 물론 각 메서드를 사용한 코드와 동작 결과에 대한 예제도 함께 알아보겠습니다. class Node(object): def config(self, commands): ▷ commands는 String이나 List형으로 구성되나, String형은 내부적..
Programmability for Networker : Part 20 (Arista pyeapi:2) pyeapi, eapi, python, arista, example : Today Key 이번 포스팅에서는 지난 번에 알아보았던 pyepai에서 제공하는 몇 가지 예제에 대해서 간략하게 알아보려고 합니다. 예제를 통해서 이러한 기능들도 사용할 수 있구나? 정도 ^^ 무엇이든, 왜? 사용해야 하는지 아는게 중요할테니, 이번 포스팅에서는 몇 가지 예제를 통해서 왜? 써야 하는지를 생각해 볼 수 있었으면 합니다. Arsita Python Client for eAPI (pyeapi) 예제 pyepai 예제 List • pyeapi를 설치하고 나면, 아래와 같이 몇 가지 예제를 코드를 제공합니다. 여기에서는 simple과 유사한 기능을 하는 sysmac을 제외한 나머지 코드를 살펴보려고 합니다. get-confi..
Programmability for Networker : Part 18 (Junos PyEZ:2) PyEZ라는 Junos OS 장비를 다룰 수 있도록 해주는 Python용 micro-framwork라고 하는 Library를 다뤄봅니다. 이번 포스팅에서는 PyEZ가 무엇인지 아주 간단히, 그리고 아주 간단한 예제를 통해서 가볍게 접근해봅니다. Juniper PyEZ Library ○ PyEZ를 통한 Configuration 관리 • PyEZ를 통한 설정 관리 : Unstructured / Structured • Unstructured - 지원되는 특정 포맷 형식에 Junos Config를 전달하여 관리 - 다수의 변수를 가진 Template을 사용하면 보다 쉽고 빠르게 사용 가능 • Structured - 설정 / 속성에 접근하는 프로그래밍 방법을 잘 정의한 추상화 자원을 사용 - 추상화 자원은 Pup..
Programmability for Networker : Part 17(Cisco NX-API) NX-API 기존의 Python for Networker라는 주제로 포스팅하던 것을, 주제를 넓혀보고자.. Programmability for Networker로 이름을 변경하고 지속해서 시작합니다. ^^; 이번 포스팅은 Cisco의 Programmability를 지원하는 NX-API에 대한 포스팅입니다. NX-API - Cisco Programmability ◈ NX-API - HTTP/HTTPS의 RPC 기반의 API 기능 수행 - 'show', 'configuration', 'Linux Bash' 지원 - JSON-RPC를 지원 - Cisco Nexus 9000 platform 적용 ◈ NX-API 동작 - HTTP/HTTPS로 전송되며, 해당 CLI는 HTTP/HTTPS의 POST body로 en..
Programmability for Networker : Part 16 (Junos PyEZ:1) PyEZ라는 Junos OS 장비를 다룰 수 있도록 해주는 Python용 micro-framwork라고 하는 Library를 다뤄봅니다. 이번 포스팅에서는 PyEZ가 무엇인지 아주 간단히, 그리고 아주 간단한 예제를 통해서 가볍게 접근해봅니다. Juniper PyEZ Library ○ PyEZ 란? - Junos OS 장비를 원격에서 관리 및 자동화하는 Python으로 만든 'micro-framework' - Junos OS 혹은 , Junos OS XML API에 대한 이해가 복잡하게 필요하지 않음 - 비개발자에게는 원격지의 Junos OS 장비의 자동화 업무 등의 할 수 있도록 하는 간단한 Power Shell 역할을 함. - 개발자에게는 보다 큰 네트워크 인프라의 자동화 관점에서 사용할 수 있는 확..
Programmability for Networker : Part 15 (Cisco OnePK:4) OnePK 예제 지난 포스팅에 이어서 Python을 사용한 OnePK 예제를 다뤄봅니다. 간략한 예제를 통해서, OnePK를 어떻게 사용할 수 있는지 알아보겠습니다. ○ OnePK 두 번째 예제 - Network Element의 Interface 정보를 가져와서 출력해보는 예제입니다 - Ethernet Type의 Interface 정보를 가져오고, 해당 Interface의 Description을 출력합니다 ◆ 실행결과 ◆ 소스코드 - 기본 코드는 지난 포스팅인 Python for Networker Part 14(OnePK3)을 참고해주시면 됩니다. - Interface를 정보를 가져오기 위해서 OnePK에서 제공하는 Package중에, Interface라는 Package를 사용합니다. - 여기서는 Net..
Programmability for Networker : Part 14 (Cisco OnePK:3) 이번 포스팅부터는 OnePK 예제를 다뤄봅니다. 본 포스팅의 예제는 원래 제목이기도 하지만, OnePK에서 지원하는 언어 중에 Python을 사용하여 진행하게 됩니다. 이번 포스팅에서는 예제를 하기 위한 다른 내용도 함께 들어가느라, 1개의 예제만 다루게 됩니다. ○ OnePK 첫 번째 예제 - Network Element와 연결하여, 해당 Element의 정보를 가져오는 예제 - 아래의 동영상과 같이 장비의 다양한 Element 정보를 가져올 수 있다. - Source Code - Source Code를 보면, 매우 단순(?)합니다. - OnePK가 지원되는 Device와의 연결을 위해서 'IP address', 'username', 'password'가 필요로 하며, 해당 정보를 가지고, 해당 Dev..