ansible批量配置思科路由器
ansible是一个python开发的基于ssh的配置管理工具,多用于devops生态。同时,一些网络厂商也为ansible开发了响应的模块用于批量管理网络设备。
相对自己拿pyhton的netmiko自己写一些脚本,ansible现成的模块更加高效。
安装
以centos7为例,直接yum安装即可
1 | yum -y install ansible |
配置
ansible中有以下几个概念
- inventory: 仓库,需要被管理的主机列表和基本信息
- playbook: 剧本,由多个task组成
- modules: 模块,实现具体的功能
inventory中可以有多个group,执行时需要指定inventory文件,或者特定的group;ansible默认读取的是/etc/ansible/hosts文件,也可以用-i
参数来指定inventory所在的位置,下面是一个配置示例
1 | [ios] |
在介绍playbook之前,先看下拓扑:
这里要实现的是对,配置NTP,SNMP,接口IP以及启用ospf:
1 |
|
前面显示指定了需要配置的设备组,然后引入了一个变量文件interface.yml,内容是设备接口对应的ip地址:
1 | interfaces: |
with_items是循环,读取interface这个列表,一次作为item,当符合when的条件时就执行,不符合就跳过。
执行playbook:
modules配置
上面playbook中的ios_config就是ansible的一个模块。它能在思科ios系统的config模式下执行各种命令。
其他各种模块可以查看官网的介绍
参考文档:
ansible 网络自动化管理
原文作者: Mansur
原文链接: http://nbma.info/ansible-manage-router/
许可协议: 除特别声明外,本站文章均采用CC BY-NC 4.0许可协议,转载请注明出处。