NH.A.0004 —— Explicación de 20 módulos de Ansible y análisis del guión de Playbook

1. Descripción general:
1. Introducción y análisis característico
de las herramientas de operación y mantenimiento automatizadas de Ansible 2. Principios de las herramientas de operación y mantenimiento automatizadas de Ansible y un poco de comprensión en profundidad
3. Herramientas de combate reales y ejercicios de comando de la empresa del módulo
Ansible 4. Aplicación del libro de jugadas de la herramienta de mantenimiento y operación automatizada de Ansible combate real
5. Explicación detallada Archivos de configuración Ansible y ajuste de rendimiento avanzado
Inserte la descripción de la imagen aquí

Las tres funciones principales de los ingenieros de computación en la nube de Linux:
Inserte la descripción de la imagen aquí
formación de la arquitectura de la plataforma: responsable de participar y revisar la racionalidad del diseño de la arquitectura, construir la arquitectura de gestión de la plataforma de operación y mantenimiento y utilizar soluciones de código abierto para garantizar un funcionamiento eficiente y estable después del lanzamiento del producto, garantía y continuidad. Mejore la disponibilidad del servicio, garantice la seguridad de los datos del usuario y mejore la experiencia del usuario.
Garantía de operación diaria: Responsable de utilizar tecnología de operación y mantenimiento o plataforma de operación y mantenimiento para garantizar que el producto se pueda lanzar y lanzar de manera eficiente, y responsable de garantizar el funcionamiento estable del producto 7 * 24 horas. Durante este período, los problemas se pueden localizar y resolver rápidamente, y en el trabajo diario. Optimice la racionalidad de la arquitectura y la implementación del sistema para mejorar la estabilidad de los servicios del sistema y
optimizar el rendimiento y la eficiencia: use herramientas de automatización o plataformas de operación y mantenimiento para mejorar la eficiencia de la ingeniería de software en el ciclo de desarrollo, optimice continuamente la arquitectura del sistema, mejore la eficiencia de la implementación y optimice la utilización de recursos Para respaldar la iteración continua del producto, es necesario optimizar y ajustar continuamente la arquitectura para garantizar que todo el producto pueda continuar enriqueciéndose y complicándose al tiempo que se garantiza una alta disponibilidad.
Qué es Ansible:
Ansible es simplemente un sistema de administración de configuración (sistema de administración de configuración), solo necesita usar ssh para acceder a su servidor o equipo. También es diferente de otras herramientas porque utiliza métodos de empuje en lugar de títeres, etc. De esa manera, puede implementar el código en cualquier número de servidores utilizando el método de extracción e instalación del agente.
Qué puede hacer
Ansible : Ansible puede ayudarnos a completar algunas tareas por lotes, o completar algunas tareas comunes que deben repetirse con frecuencia; por
ejemplo: instalar servicios nginx en 100 servidores al mismo tiempo e iniciarlos después de la instalación. Por
ejemplo: poner un archivo a la vez Copiar a 100 servidores Por
ejemplo: cada vez que un nuevo servidor se une al entorno de trabajo, debe implementar un servicio para el nuevo servidor, es decir, debe repetir el mismo trabajo con frecuencia.
Podemos usar Ansible en estos escenarios

Arquitectura Ansible: el
Inserte la descripción de la imagen aquíverde a la derecha es nuestro host administrado (máquina virtual, máquina física, host en la nube, etc.). En el diagrama de arquitectura anterior, podemos ver que Ansible se compone de una lista de hosts (configuración), un libro de jugadas (configuración) y varios complementos de módulos. En pocas palabras, el usuario (administrador) llama a los diversos módulos y parámetros de Ansible a través de la configuración de la lista de hosts de Ansible o la configuración del libro de jugadas (un conjunto de tareas) para realizar una administración unificada de los hosts de la lista.

Ansible puede funcionar en Linux, BSD, Mac OS y otras plataformas. El requisito mínimo para la versión del entorno Python es Python2.6 o superior. Si la versión del software Python del sistema operativo es 2.4, debe actualizar para usar las herramientas de Ansible;

Configuración Ansible actual combat:
1. Entorno de hardware:
Ansible-server end: 192.168.1.60
Ansible-client end: 192.168.1.70
Ansible-client end: 192.168.1.71
Ansible-client end: 192.168.1.72

Método de instalación:
instalación de la fuente, pip, instalación de yum;
El sistema operativo Centos Red Hat puede instalar automáticamente Ansible basado en la herramienta YUM directamente, antes de la instalación de Centos6.xo Centos7.x, debe instalar la fuente de extensión epel, el código es el siguiente:

2. Instalación ambiental:

[root@localhost ~]# yum -y install epel-release   //安装扩展源
[root@localhost ~]# yum install -y ansible
 (11/15): ansible-2.9.14-1.el7.noarch.rpm    
[root@localhost ~]# ansible --version    //查看它的版本
ansible 2.9.14 
python version = 2.7.5 
[root@localhost ~]# ll /etc/ansible/     //可以查看到它的配置文件
-rw-r--r-- 1 root root 19985 10月  8 01:35 ansible.cfg        //此文件为Ansible的主配置文件
-rw-r--r-- 1 root root  1016 10月  8 01:35 hosts              //定义主机组的
drwxr-xr-x 2 root root     6 10月  8 01:35 roles              //定义不同角色

Lista de hosts de Ansible:
administración remota de lotes de Ansible, en la que los comandos de ejecución se completan a través de Ad-Hoc, y varios comandos de ejecución única de punto a punto se pueden ejecutar rápidamente, y no es necesario guardar los comandos ejecutados. El archivo de hosts predeterminado configura la lista de hosts y usted puede configurar grupos. Se pueden definir varias ips y reglas, y la lista de hosts está configurada de forma predeterminada.

[root@localhost ansible]# cat hosts |more    //查看Ansible主机清单
[root@localhost ansible]# vim hosts 
# them like this:
[web]                   //定义了一个组名
192.168.1.[70:72]       //定义了组内的主机、 70/71/72主机
[web]                   //或者这样定义也可以
192.168.1.70
192.168.1.71
192.168.1.72

Combate real del módulo de ping: El
módulo más básico de Ansible es el módulo de ping, que se utiliza principalmente para juzgar si el cliente está en línea o no. Utilice el servidor de ping en sí, Fan Hu se refiere al ping cambiado;

//ansible web -m ping  //使用Ansible对web组内的主机进行ping模块测试
[root@localhost ansible]# ansible web -m ping
Are you sure you want to continue connecting (yes/no)?      //提示没有配置秘钥对,解决方案针对问题一
[root@localhost ~]# ansible web -m ping
192.168.1.70 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.1.72 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.1.71 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    }, 
    "changed": false, 
    "ping": "pong"
}

Módulo de comando: El
módulo de comando de Ansible es el módulo Ansible predeterminado, que se utiliza principalmente para ejecutar comandos de Linux y puede administrar directamente servidores remotos y operaciones de tareas.

[root@localhost ~]# ansible web -m command -a "date"
192.168.1.71 | CHANGED | rc=0 >>
Wed Nov  4 14:25:03 UTC 2020
192.168.1.70 | CHANGED | rc=0 >>
Wed Nov  4 14:25:03 UTC 2020
192.168.1.72 | CHANGED | rc=0 >>
Wed Nov  4 14:25:03 UTC 2020
[root@localhost ~]# ansible web -m command -a "ping -c 1 www.baidu.com" 
[root@localhost ~]# ansible web -m command -a "yum install httpd -y"
[root@localhost ~]# ansible web -m command -a "systemctl start httpd.service"
[root@localhost ~]# ansible web -m command -a "ss -tan"     //查看端口
Ansible Playbook应用:
Playbook由一个或多个“paly”组成的列表,play的主要功能Ansible中的Task定义好的角色,指定剧本对应的服务器组;
远程安装nginx服务器脚本;playbook代码如下;
vim nginx_install.yaml
---         //脚本内容;
-host:web
 remote_user:root
 tasks:
 -name:cvc Pcre-devel and Zlib LIB Install.
  yum:name=pcre-devel,pcre,zlib-devel,gcc-c++ state=installed
 -name:cvc Nginx WEB Server Install Process.
 shell:cd /tmp;rm -rf nginx-1.15.0.tar.gz;wget
http://nginx.org/download/nginx-1.15.0.tar.gz;tar xzf nginx-1.15.0.tar.gz;cd nginx-1.15.0;./configure --prefix=/usr/local/nginx;make,make isntall

[root@localhost ~]# ansible-playbook nginx_install.yam1 -vvv   //执行脚本在三台主机上部署nginx

Pregunta uno:

[root@localhost ansible]# ansible web -m ping
The authenticity of host '192.168.1.71 (192.168.1.71)' can't be established.
ECDSA key fingerprint is SHA256:+fXgJ0vWlg+shAIaDf+FJKJrFrdECU/NOXu5iVz3fuU.
ECDSA key fingerprint is MD5:bb:c7:9f:3b:69:7e:8c:cc:12:04:23:59:c1:ce:b5:df.
Are you sure you want to continue connecting (yes/no)? The authenticity of host '192.168.1.72 (192.168.1.72)' can't be established.
ECDSA key fingerprint is SHA256:+fXgJ0vWlg+shAIaDf+FJKJrFrdECU/NOXu5iVz3fuU.
ECDSA key fingerprint is MD5:bb:c7:9f:3b:69:7e:8c:cc:12:04:23:59:c1:ce:b5:df.
Are you sure you want to continue connecting (yes/no)? The authenticity of host '192.168.1.70 (192.168.1.70)' can't be established.
ECDSA key fingerprint is SHA256:+fXgJ0vWlg+shAIaDf+FJKJrFrdECU/NOXu5iVz3fuU.
ECDSA key fingerprint is MD5:bb:c7:9f:3b:69:7e:8c:cc:12:04:23:59:c1:ce:b5:df.
Are you sure you want to continue connecting (yes/no)?
错误提示:没有和远程主机配置秘钥对,可以使用ssh-keygen配置秘钥对
解决方案:免秘钥的
[root@localhost ~]# ssh-keygen
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub   -p 22 [email protected]  //将秘钥对拷贝到目标主机。
[root@localhost ~]# ssh 192.168.1.70        //测试目标配置是否成功
Last login: Sun Nov  1 06:29:29 2020 from 192.168.1.101
[root@cb687a8072d1 ~]# ip addr

Supongo que te gusta

Origin blog.51cto.com/15005403/2552215
Recomendado
Clasificación