Operación y mantenimiento Junior Series-ansible y cisco (1)

Operación y mantenimiento Junior Series-ansible y cisco (1)

Jóvenes de Operación y Mantenimiento de Sao Nian

ansible y cisco

1. Serie de artículos
2. Requisito previo
3. Introducción a ansible
4. Instalar ansible
5. Usar ansible para administrar un solo conmutador
1) Diagrama de topología
2) Configuración
3) Comandos ad hoc
6. Usar ansible para administrar varios conmutadores

1. Descripción de la serie de artículos

Esta serie de artículos habla principalmente sobre cómo usar ansible para administrar y configurar los enrutadores de conmutadores cisco en lotes. Por supuesto, esta serie de artículos también se dividirá en 2-3 artículos, que van desde un solo dispositivo hasta varios dispositivos, desde ningún libro de jugadas hasta un libro de jugadas.

2. Requisitos previos

  • Conocimiento CCNA
  • Entendiendo YAML
  • Comprender el uso de Linux

    Tres, introducción ansible

Ansible es una herramienta de operación y mantenimiento automatizada basada en Python. Los principales módulos de Python utilizados son paramiko, del que hablamos antes, y jinja2, del que no hemos hablado. Ansible proporciona una forma más sencilla de administrar grandes cantidades de equipos. Si los lectores necesitan explicaciones más específicas, por favor, Baidu usted mismo.

Cuarto, instale ansible

Centos usa yum para instalar ansible


 1[root@yunwei ~]# yum install ansible -y
 2Dependencies Resolved
 3
 4=============================================================================================================================================================================================
 5 Package                                              Arch                                   Version                                           Repository                               Size
 6=============================================================================================================================================================================================
 7Installing:
 8 ansible                                              noarch                                 2.4.2.0-2.el7                                     extras                                  7.6 M
 9Installing for dependencies:
10 PyYAML                                               x86_64                                 3.10-11.el7                                       base                                    153 k
11 libyaml                                              x86_64                                 0.1.4-11.el7_0                                    base                                     55 k
12 python-babel                                         noarch                                 0.9.6-8.el7                                       base                                    1.4 M
13 python-cffi                                          x86_64                                 1.6.0-5.el7                                       base                                    218 k
14 python-enum34                                        noarch                                 1.0.4-1.el7                                       base                                     52 k
15 python-httplib2                                      noarch                                 0.9.2-1.el7                                       extras                                  115 k
16 python-idna                                          noarch                                 2.4-1.el7                                         base                                     94 k
17 python-jinja2                                        noarch                                 2.7.2-3.el7_6                                     updates                                 518 k
18 python-paramiko                                      noarch                                 2.1.1-9.el7                                       updates                                 269 k
19 python-passlib                                       noarch                                 1.6.5-2.el7                                       extras                                  488 k
20 python-ply                                           noarch                                 3.4-11.el7                                        base                                    123 k
21 python-pycparser                                     noarch                                 2.14-1.el7                                        base                                    104 k
22 python-six                                           noarch                                 1.9.0-2.el7                                       base                                     29 k
23 python2-cryptography                                 x86_64                                 1.7.2-2.el7                                       base                                    502 k
24 python2-jmespath                                     noarch                                 0.9.0-3.el7                                       extras                                   39 k
25 python2-pyasn1                                       noarch                                 0.1.9-7.el7                                       base                                    100 k
26 sshpass                                              x86_64                                 1.06-2.el7                                        extras                                   21 k
27
28Transaction Summary
29=============================================================================================================================================================================================
30Install  1 Package (+17 Dependent packages)

Puede ver que hay muchos módulos de Python instalados, como paramiko y jinja2

  • Una vez completada la instalación, el directorio / etc / ansible / se generará automáticamente

1[root@yunwei ~]# ls /etc/ansible/
2ansible.cfg  hosts  roles
3[root@yunwei ~]# 
  • ansible.cfg

    ansible.cfg es el archivo de configuración de ansible.La configuración predeterminada de ansible está en él y se puede modificar.

  • El
    archivo de hosts es el nombre de host / archivo IP, este archivo especifica el alcance de ansible.

Cinco, use ansible para administrar un solo interruptor

1) Diagrama topológico

Operación y mantenimiento Junior Series-ansible y cisco (1)

2) Configuración

  • Modificar el archivo de configuración ansible
    Modificar el archivo de configuración ansible, eliminar la siguiente línea comentario, esta línea significa que al iniciar sesión en ssh, es para verificar si hay una clave para la IP en el archivo known_hosts. El valor predeterminado es verificar. Si no existe, el inicio de sesión falla. En este momento, puede ssh manualmente una vez, y ssh agregará automáticamente la clave al archivo known_hosts, o descomentará para evitar que verifique el archivo.

1host_key_checking = False
  • Limpiar y configurar el archivo de hosts
    Solo el host existe en el archivo de hosts, podemos operar en este host.

1[root@yunwei ansible]# echo > hosts
2[root@yunwei ansible]# cat hosts
3[cisco]  # 组名
4192.168.108.251 # 组成员
5192.168.108.252
6192.168.108.253
7[centos]
8192.168.100.225
9[root@yunwei ansible]# 
  • Use el comando ansible para verificar si el host es accesible (nota: el IOS en mi GNS no es compatible con el módulo de ping)

1[root@yunwei ansible]# ansible 192.168.100.225 -m ping -u root -k
2SSH password: 
3192.168.100.225 | SUCCESS => {
4    "changed": false, 
5    "ping": "pong"
6}
  • Explicación de parámetros
    • m: especifique el módulo que se utilizará, todos los módulos de red se pueden ver aquí
    • u: especifique el nombre de usuario de inicio de sesión
    • k: introduzca la contraseña de forma interactiva

      3) comando ad hoc

El comando ad hoc generalmente solo ejecuta un comando y tiene una única función.

  • Utilice ansible para consultar la información vlan del conmutador

 1[root@yunwei ansible]# ansible 192.168.108.251 -m raw -a "show vlan" -u cisco -k
 2SSH password: 
 3192.168.108.251 | SUCCESS | rc=0 >>
 4
 5
 6VLAN Name                             Status    Ports
 7---- -------------------------------- --------- -------------------------------
 81    default                          active    Et0/0, Et0/2, Et0/3, Et1/0
 9                                                Et1/1, Et1/2, Et1/3, Et2/0
10                                                Et2/1, Et2/2, Et2/3, Et3/0
11                                                Et3/1, Et3/2, Et3/3
1210   V10                              active    
1320   V20                              active    
1430   V30                              active    
1540   V40                              active    
1650   V50                              active    
1760   V60                              active    
1870   V70                              active    
1980   V80                              active    
2090   V90                              active    
21100  V100                             active    
221002 fddi-default                     act/unsup 
231003 token-ring-default               act/unsup 
241004 fddinet-default                  act/unsup 
251005 trnet-default                    act/unsup 
26
27VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
28---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
291    enet  100001     1500  -      -      -        -    -        0      0   
3010   enet  100010     1500  -      -      -        -    -        0      0   
3120   enet  100020     1500  -      -      -        -    -        0      0   
3230   enet  100030     1500  -      -      -        -    -        0      0   
3340   enet  100040     1500  -      -      -        -    -        0      0   
3450   enet  100050     1500  -      -      -        -    -        0      0   
3560   enet  100060     1500  -      -      -        -    -        0      0   
3670   enet  100070     1500  -      -      -        -    -        0      0   
3780   enet  100080     1500  -      -      -        -    -        0      0   
3890   enet  100090     1500  -      -      -        -    -        0      0   
39100  enet  100100     1500  -      -      -        -    -        0      0   
401002 fddi  101002     1500  -      -      -        -    -        0      0   
411003 tr    101003     1500  -      -      -        -    -        0      0   
421004 fdnet 101004     1500  -      -      -        ieee -        0      0   
431005 trnet 101005     1500  -      -      -        ibm  -        0      0   
44
45Remote SPAN VLANs
46------------------------------------------------------------------------------
47
48
49Primary Secondary Type              Ports
50------- --------- ----------------- ------------------------------------------
51Shared connection to 192.168.108.251 closed.
52
53
54[root@yunwei ansible]# 

GIF

Operación y mantenimiento Junior Series-ansible y cisco (1)

  • Explicación de parámetros:
    • m: Especifique los parámetros, la explicación oficial en bruto es la siguiente: Otra es hablar con cualquier dispositivo como enrutadores que no tengan ningún Python instalado. En cualquier otro caso, usar el módulo de comandos o shell es mucho más apropiado. Un dispositivo con Python instalado para comunicarse.
    • a: Ingrese el comando

      Seis, use ansible para administrar varios conmutadores

¿Recuerda nuestro archivo de hosts? Escribimos las IP que necesitamos en él y las dividimos en grupos, de hecho, podemos operar directamente en los grupos.

  • archivo hosts

1[root@yunwei ansible]# cat hosts
2[cisco-1]
3192.168.108.251
4[cisco-2]
5192.168.108.252
6192.168.108.253
7[centos]
8192.168.100.225
  • Operar
    en el grupo Para operar en el grupo, simplemente agregue el nombre del grupo después de ansible.

 1[root@yunwei ansible]# ansible cisco-2 -m raw -a 'show clock' -u cisco -k
 2SSH password: 
 3192.168.108.252 | SUCCESS | rc=0 >>
 4
 5*05:45:41.908 UTC Wed Jun 12 2019Shared connection to 192.168.108.252 closed.
 6
 7
 8192.168.108.253 | SUCCESS | rc=0 >>
 9
10*05:45:42.139 UTC Wed Jun 12 2019Warning: Permanently added '192.168.108.253' (RSA) to the list of known hosts.
11Shared connection to 192.168.108.253 closed.
12
13[root@yunwei ansible]# 

Se puede ver que las dos direcciones IP bajo el grupo cisco-2 del destacamento funcionaron y el resto no ejecutó comandos.
Operación y mantenimiento Junior Series-ansible y cisco (1)

Supongo que te gusta

Origin blog.51cto.com/15082392/2656473
Recomendado
Clasificación