Playbook을 통한 구성정보를 확인하는 것도 큰 도움이되지만 Ad Hoc명령을 사용하면 , 네트워크의 다양한 정보를 확인 할 수 있다. Cisco NXOS Ansible Module을 호출해서 사용하는 방식으로, NXOS Command 모듈을 호출해서 사용하면 콘솔에 접속하지 않아도 한꺼번에 다양한 정보를 추출해 올 수 있다. 또한 Ad Hoc에서는 결과 값들에 대한 자동파싱을 통해서 결과를 출력해 준다. 아래 유용한 명령어 모음을 몇가지 정리하였다. $ ansible -m nxos_command -c network_cli -u admin -k -a "commands='show ver'" -i ./hosts NXOS-SPINE-1001 $ ansible -m nxos_command -c network..
Ansible을 올바르게 사용하기 위해서는 몇가지의 기초지식과 동작 구조를 이해하면 접근하기 용이하다. 아래 몇가지 사항들을 정리한다. 우선 제일 먼저 전체적인 Ansible의 아키텍쳐를 이해하는 것이 좋다. 2개의 주요 컴포넌트는 Ansible Controller와 Ansbile Target이다. 이 가운데 컨트롤러는 Target에 대해 어떤 구성을 내려 보낼지에 대한 Task들을 정의하게 된다. YAML 파일 또는 ini 파일형식 모두 지원한다. 아래는 Inventory 파일에 대해 예제로 기술한 내용이다. # inventory에 대한 환경/전역변수 내용 정의 [all:vars] ansible_become=yes ansible_become_method=enable ansible_network_os=n..
1. Vagrant 구성 Ansible을 이해하기 위해서는 실제 LAB을 통해서 체험하는 것이 가장 좋다. 여러 환경에서 테스트할 수 있겠지만 간편하게 테스트 할 수 있는 방법이 Vagrant기반에서 경험해 보는 것을 추천한다.Vagrant 구성과 개요에 대해서는 블로그에서 다룬 적이 있으므로 상세한 내용을 생략한다.(참조 Vagrant 설치와 구성 : https://youngmind.tistory.com/entry/Vagrant-%EC%84%A4%EC%B9%98%EC%99%80-%EA%B5%AC%EC%84%B1?category=783968] 아래는 CentOS 7기반의 4개의 VM을 구성하기 위한 Vagrant file의 Ruby 구성 내용이다. Vagrant.configure("2") do |conf..
1. Ansible 이란? Ansible은 IaC (Infrastructure as Code)를 지향하는 자동화 관리 도구로 오픈 소스 기반으로 제작되었다.Ansible을 구동하는 모듈 및 라이브러리는 Python을 기반으로 하며, YAML 포맷을 기반으로 플레이북을 실행시켜서 원하는 자동화를 구현하거나, Ad hoc 모드로 모듈을 실행시켜 상태를 조회해 볼 수 있다.또한 기존 Chef/Puppet 처럼 기존에 알려진 IaC 솔루션들이 Target Host들에 Agent를 반드시 설치해야 하는 것과 비교해서, Ansible은 SSH를 기반으로 Target Host에 Agentless방식으로 자동화를 구성 관리한다.이러한 동작방식은 기존의 Pull방식에서 , Agentless 기반의 Push 방식으로 동작..