Operación y mantenimiento automatizados Uso de Ansible

Operación y mantenimiento automático Uso de Ansible (siga los pasos del documento para tener éxito).
El documento se instala e instala Ansible por separado y usa Ansible para controlar dos máquinas.
Nota especial: ¿Por qué necesita hacer un documento de Ansible después de hacer pssh? Porque Ansible es flexible y enumeraré sus ventajas a continuación.
1. Puede ingresar una contraseña para controlar sin tener que usar una clave secreta.
2. Incluso si se desinstala la lista de hosts, algunas máquinas se pueden controlar por separado y las máquinas se pueden clasificar.
##### Al seguir la implementación del documento, asegúrese de leer cada palabra cuidadosamente. Asegúrese de hacerlo (cada palabra es importante)
. Cuando se le pida que use el módulo de comando ansible redis -m para ejecutar algunos comandos, puede fallar. Se puede cambiar para usar el módulo de shell.
Cuando hice el experimento, utilicé dos métodos de control remoto:
1. Método sin
clave 2. Método de ingreso de contraseña
# Auto reimpresión privada, comuníquese con el blogger; de lo contrario, se deben investigar los derechos de autor. Hay un
entorno de sistema WeChat a continuación :

IP Nombre del nodo
192.168.182.150 administración
192.168.182.150 cliente-1
192.168.182.150 cliente-2

1. Establecer tres nombres de host de
nodo ejecución del nodo de administración

[root@localhost ~]# hostnamectl set-hostname admin
[root@localhost ~]# su

ejecución del nodo cliente-1

[root@localhost ~]# hostnamectl set-hostname client-1
[root@localhost ~]# su

ejecución del nodo cliente-2

[root@localhost ~]# hostnamectl set-hostname client-2
[root@localhost ~]# su

2. Instale la
ejecución del nodo de administración de Ansible

[root@admin ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
[root@admin ~]# yum install ansible -y

3. Configure el
nodo de administración ansible para que se ejecute
Modifique el tamaño del número en la línea 20. De forma predeterminada, solo se pueden conectar 5 máquinas.

[root@admin ansible]# vim /etc/ansible/ansible.cfg 
20行 forks          = 20

4. Modificar la
ejecución del nodo de administración del archivo ansible-hosts

[root@admin ansible]# vim /etc/ansible/hosts 
[web] #这样就定义了一个组web是组名称可以自定义,可以根据组名称来具体控制哪些机器
192.168.182.150
192.168.182.151
[redis] #这样就定义了一个组redis是组名称可以自定义,可以根据组名称来具体控制哪些机器
192.168.182.152

5. Configure la clave secreta para conectarse al
nodo de administración para su ejecución.

[root@admin ansible]# ssh-keygen
##直接回车
[root@admin ansible]# ssh-copy-id -i root@admin
##会有提示输入密码
[root@admin ansible]# ssh-copy-id -i [email protected]
##会有提示输入密码
[root@admin ansible]# ssh-copy-id -i [email protected]
##会有提示输入密码

6, ver la
ejecución del nodo de administración del espacio en disco del host del grupo web definido

[root@admin ansible]# ansible web -m command -a 'df -h'
192.168.182.150 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.4G   49G    3% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M  124K  489M    1% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.182.151 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G 1019M   49G    2% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0

6. Ver la ejecución definida del
nodo de administración del espacio en disco del host del grupo redis

[root@admin ansible]# ansible redis -m command -a 'df -h'   
192.168.182.152 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.1G   16G    7% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  125M  890M   13% /boot
tmpfs                     98M     0   98M    0% /run/user/0

7. Ver toda la
ejecución del nodo de administración del espacio en disco del host del grupo

[root@admin ansible]# ansible all -m command -a 'df -h'     
192.168.182.152 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.1G   16G    7% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  125M  890M   13% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.182.151 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G 1019M   49G    2% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.182.150 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.4G   49G    3% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M  124K  489M    1% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0

8. Utilice expresiones regulares para controlar el host (la dirección del host debe escribirse en el archivo de hosts o la ejecución falla)
ejecución del nodo de administración

[root@admin ansible]# ansible 192* -m command -a 'df -h'
192.168.182.151 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G 1019M   49G    2% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.182.152 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  1.1G   16G    7% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               1014M  125M  890M   13% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.182.150 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.4G   49G    3% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M  124K  489M    1% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0

9. Compruebe qué
nodo de administración de host se ejecuta

[root@admin ansible]# ansible all --list-hosts
  hosts (3):
    192.168.182.150
    192.168.182.151
    192.168.182.152

10. También puede especificar un archivo personalizado (en el caso de que el archivo de hosts predeterminado no sea aplicable)
ejecución del nodo de administración

[root@admin ansible]# ansible -i /etc/ansible/zhiding redis -m command -a 'df -h'            

11. También puede ejecutar la
ejecución del nodo de administración del comando remoto sin la clave secreta

[root@admin ansible]# ansible -K web -m command -a 'df -h'
BECOME password:  ##这里是让你输入密码(有一个前提你控制的所有主机密码应该是一致的)
192.168.182.151 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G 1019M   49G    2% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0
192.168.182.150 | CHANGED | rc=0 >>
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.4G   49G    3% /
devtmpfs                 478M     0  478M    0% /dev
tmpfs                    489M  124K  489M    1% /dev/shm
tmpfs                    489M  6.8M  482M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/mapper/centos-home   45G   33M   45G    1% /home
/dev/sda1               1014M  143M  872M   15% /boot
tmpfs                     98M     0   98M    0% /run/user/0

12. También puede escribir un script para definir el comando que se ejecutará y en qué host ejecutar el
nodo de administración

[root@admin ansible]# vim  test.yaml
- hosts: redis
  remote_user: root
  tasks:
  - name: yum apache
    shell: yum -y install httpd

13. Especifique el archivo de secuencia de comandos para ejecutar el
nodo de administración por lotes usando Ansible

[root@admin ansible]# ansible-playbook test.yaml              

PLAY [redis] ********************************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************************
ok: [192.168.182.152]

TASK [yum apache] ***************************************************************************************************************
[WARNING]: Consider using the yum module rather than running 'yum'.  If you need to use command because yum is insufficient you
can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
changed: [192.168.182.152]

PLAY RECAP **********************************************************************************************************************
192.168.182.152            : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

14. En la sección del cliente, verifique si el
nodo httpd client-2 está instalado.

[root@client-2 ~]# rpm -qa|grep httpd   
httpd-tools-2.4.6-97.el7.centos.x86_64
httpd-2.4.6-97.el7.centos.x86_64

wx: a1362623821

Supongo que te gusta

Origin blog.csdn.net/zeorg/article/details/111957935
Recomendado
Clasificación