设置基本的 Ansible 实验室
本文概述了在实验室环境中使用 Ansible 管理交换机的过程。此示例展示了 Ansible 的 ad-hoc 命令。对于重复性任务,请使用 Ansible playbook;例如这个 简单的 playbook 示例。
要求
- 一台运行 Cumulus Linux(任何版本)的交换机,名为 switch1
- 一台运行 Debian 的服务器或虚拟机,带有基本安装(仅默认软件包),名为 server1
在服务器上,设置以下内容
- DHCP
- Ansible
网络地址
此示例使用 192.168.0.0/24 子网。
IP 地址 | 实体 |
---|---|
192.168.0.1 | 现有网关 |
192.168.0.2 | server1 |
192.168.0.10 | switch1 |
配置 server1
在服务器上配置 DHCP 服务器,然后安装 Ansible。
安装所需的软件包
root@server:~# apt-get install isc-dhcp-server
将静态 IP 地址 192.168.0.2 分配给 server1。编辑
/etc/network/interfaces
,使其看起来像auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1
配置 DHCP 范围。编辑
/etc/dhcp/dhcpd.conf
并将以下内容添加到文件中subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200 option routers 192.168.0.1; option domain-name-server 192.168.0.2; option domain-name "example.com"; host switch1 { hardware ethernet 00:JJ:YU:38:AC:45; fixed-address 192.168.0.10; }
重新启动 server1。
重新启动 switch1。
确认可以从 server1 访问 switch1
root@server:~# ping 192.168.0.10 64 bytes from 192.168.100.11: icmp_req=2 ttl=64 time=0.141 ms
安装 Ansible
root@server:~# apt-get install python-pip root@server:~# pip install ansible
通过 Ansible 配置 MOTD
本节介绍如何使用 Ansible 创建简单的每日消息 (MOTD)。
创建一个示例 MOTD 文件
root@server:~# echo "SAMPLE MOTD" > ~/sample.motd
创建一个清单文件,其中包含列表中的 switch1
root@server:~# echo "192.168.0.10" > ~/ansible.hosts
将示例 MOTD 推送到 switch1 (192.168.0.10)。输入 cumulus 用户(默认用户)的密码
root@server:~# ansible -k -K -u cumulus -i ~/ansible.hosts -m 'copy' -a 'src=~/sample.motd dest=/etc/motd' 192.168.0.10 SSH password: sudo password [defaults to SSH password]: sw1 | success >> { "changed": false, "dest": "/etc/motd", "gid": 0, "group": "root", "md5sum": "b04dde3768174a34f75fdde78142849d", "mode": "0644", "owner": "root", "path": "/etc/motd", "size": 12, "state": "file", "uid": 0 }