Jupyter (Ansible Kernel)로 무리 화살 inet-henge 표시시켜 보았다

소개



이전에 nwdiag를 Jupyter Notebook에 표시하는 기사를 썼지만,
nwdiag × Ansible plugin × Jupyter로 NW 토포 다이어그램 생성
NW 자동화로 자동 구성도 생성을 진행함에 따라 L3의 NW 토폴로지 다이어그램만으로는 표현할 수 없는 유스 케이스(BGP 토폴로지 등)가 있어,
그래서 inet-henge를 사용하여 BGP 토폴로지를 표현하고 보완해 보았습니다.

또한 Jupyter Notebook의 Ansible Kernel에서 실행하면,
NW 토폴로지 다이어그램의 작도한 구성 정보를 유용하여 NW 기기에의 설정 투입 자동화도 가능하게 했습니다.

Inet-henge 정보



Nwdiag와는 달리 Interop의 ShowNet 토폴로지 다이어그램과 같은 노드 간의 연결 표현에 특화된 토폴로지를 그릴 수 있는 js 라이브러리입니다.
htps : // 기주 b. 코 m / 코데 t / 이네 t 헛

git clone하고 파이썬 등으로 간단한 http 서버를 세우면 example의 토폴로지 다이어그램을 확인할 수 있습니다.

Jupyter Notebook (Ansible Kernel) 정보



Juputer Notebook은 일반적으로 Python 또는 Shell에서 대화식 프로그램을 실행하지만,
Jupyter Notebook(Ansible Kernel)은
ansible의 Playbook에서 task마다 대화식으로 실행할 수 있게 되어 있습니다.

자세한 사용법은 공식 github 페이지를 참조하십시오.
htps : // 기주 b. 코 m / 안시 b ぇ / 안시 b ぇ - py r-r r

Dockerfile



Inet-henge + nwdiag(덤)을 Jupyter Notebook(Ansible kernel)의 컨테이너상에 구축하는 Dockerfile는 이하가 됩니다.
불행히도 배포 된 DockerImange는 아직 Python2.7에서만 제공되는 것 같습니다.

FROM benthomasson/ansible-jupyter-kernel

USER root
RUN yum install -y git ansible
RUN pip install nwdiag runipy textfsm jmespath
RUN git clone https://gist.github.com/a8e8269d4331b6b93e7ef90744fe0b3b.git
RUN git clone https://github.com/t-tkgh/nwdiag_filter.git
USER notebook
RUN git clone https://github.com/codeout/inet-henge.git

Docker 구축


  • 만든 Dockerfile 디렉토리에 빌드합니다.

  • docker build ./ -t jupyter-inet
    
  • 빌드된 DockerImage를 배포합니다.
    ※호스트측의 포트가 중복되는 경우는 임의의 포트 번호로 각각 교체해 주십시오.
    예: -p 18000:8000 등

  • docker run -idt --name notebook -p 8888:8888 -p 8000:8000 jupyter-inet
    
  • 만든 Docker 인스턴스에 로그인하여 jupyter notebook의 token 정보를 얻습니다.bash:shell docker exec -it notebook /bin/bash jupyter-notebook --list

  • demo 소개



    ※nwdiag도 Ansible Kernel로 움직인다

  • inet-henge를 표시하는 Jupyter Notebook 데모를 공개하고 있습니다.
    아래 gist의 ipynb를 Jupyter Notebook에 업로드하고 실행하십시오.
    htps : // st. 기주 b. 이 m / ttkgh / cd777 아 3423f995295b6 또는 49858b2에 83c
    다음과 같은 다이어그램이 생성됩니다.
  • inet-henge로 자동 생성된 BGP 토폴로지 다이어그램

  • nwdiag로 자동 생성된 L3 토폴로지 다이어그램


  • 컨테이너 배포 중에 -p 8000:8000에서 호스트 포트를 변경하는 경우,
    In [9]: 의 다음 localhost:8000 부분을 변경된 포트 번호로 변경하십시오.

  • HTML(r'<iframe width="1024" height="560" src="http://localhost:8000/example/" frameborder="0" allowfullscreen></iframe>')
    


    시간이 생기면 py_d3에서 직접 inet-henge 실행하여 svg 파일로 저장하고 참조하는 형태로 해 보겠습니다.

    좋은 웹페이지 즐겨찾기